| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 365 人关注过本帖
标题:SQL存储过程为什么这样写不行呢?
只看楼主 加入收藏
ysf0181
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:55
帖 子:914
专家分:2385
注 册:2006-10-4
结帖率:76.71%
收藏
已结贴  问题点数:100 回复次数:3 
SQL存储过程为什么这样写不行呢?
sql = "exec sp_biao ' name = '33' '"
调用存储过程

存储代码:
CREATE PROCEDURE dbo.sp_biao(

  @tiaojian varchar(100) ---查询条件 )
AS
     declare @zSql varchar(500) ---主语句
           begin
             set @zSql = 'select  *  from person where  '''+   @tiaojian + '''  '
           end

     exec(@zSql)
GO



name 为字符字段,这样查询结果,CPU100%。

只能这样写:
sql = "exec sp_biao ' 33 '"
存储代码:
CREATE PROCEDURE dbo.sp_biao(

  @tiaojian varchar(100) ---查询条件 )
AS
     declare @zSql varchar(500) ---主语句
           begin
             set @zSql = 'select  *  from person where name =  '''+   @tiaojian + '''  '
           end

     exec(@zSql)
GO

name 为字符字段,这样查询结果,CPU就不会100%,可以正常查询的。
搜索更多相关主题的帖子: 存储 查询 person where 
2012-12-06 15:43
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:100 
cpu100%?你数据库里有多少数据啊?
2012-12-07 13:24
ysf0181
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:55
帖 子:914
专家分:2385
注 册:2006-10-4
收藏
得分:0 

存储代码:
CREATE PROCEDURE dbo.sp_biao(

  @tiaojian varchar(100) ---查询条件 )
AS
     declare @zSql varchar(500) ---主语句
           begin
             set @zSql = 'select  *  from person where  '''+   @tiaojian + '''  '
           end

     exec(@zSql)
GO
调用存储过程
sql = "exec sp_biao ' name = '33' '"   这样是错误的SQL存储过程必须两个上逗号的,我只有一个
sql = "exec sp_biao ' name = ''33'' '"   这样就执行了,CPU就不会100%了,谢谢。
SQL2000

ASP讨论QQ群:251346273
2012-12-07 14:26
阳大爷
Rank: 2
等 级:论坛游民
帖 子:9
专家分:20
注 册:2012-11-15
收藏
得分:0 
。。。
2012-12-07 17:18
快速回复:SQL存储过程为什么这样写不行呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030011 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved