您的位置:首页 > 数据库

SQL 中EXEC 后面 执行 存储过程 和 语句 的区别

2010-09-27 10:31 267 查看
平时没怎么注意这个如题的问题。

早上领教到这个问题了。

CREATE PROC P_XX (

@ii int

) AS

declare @ss varchar(1000)

set @ss ="select * from t_tab where fid ="+cast(@ii as varchar(10))

exec @ss

GO

按照以上的方法执行就会出现类似“未能找到存储过程‘select * from t_tab where fid=1’”之类的语句。

要命的是 如果@SS 这个语句很长大约要300个以上的字符的时候,后面那个段就根本显示不出来。

要执行SQL 语句 这个EXEC只要 改成 EXEC (@ss) 这整个就执行成功了。

总结:

【 EXEC @SS】 这个模式是执行存储过程的。

【EXEC (@SS)】这个才是执行SQL 语句的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: