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 语句的。
早上领教到这个问题了。
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 语句的。
相关文章推荐
- 动态语句exec与sp_executesql执行计划区别
- 一个简单的存储过程(实现事务执行两个sql语句,修改可实现执行更多条sql语句)
- SqlServer动态执行SQL语句sp_executesql、Exec
- oracle用存储过程 进行行转列(执行动态SQL语句)
- waitfor 定时执行存储过程,触发器,T-SQL语句
- 动态sql语句基本语法--Exec与Exec sp_executesql 的区别
- 利用SQL语句创建、修改、执行、删除存储过程
- SQL中获得EXEC后面的sql语句或者存储过程的返回值的方法
- SQL Server中获得EXEC后面的sql语句或者存储过程的返回值的方法(转载)
- Entity Framework Code First执行SQL语句、视图及存储过程
- 执行存储过程,或者sql语句超时,解决办法
- [转]SQL Server中获得EXEC后面的sql语句或者存储过程的返回值的方法
- 用SQL语句执行存储过程
- 在nhibernate中执行SQL语句和存储过程
- SQL中获得EXEC后面的sql语句或者存储过程的返回值的方法
- 创建存储过程使用字符串并接sql再执行语句
- 如何在JAVA代码中执行 exec master..xp_cmdshell @cmd // 当作SQL语句调用就成了 或者调用 Runtime.getRuntime().exec
- SQL语句-exec执行
- Linux下用freetds执行SqlServer的sql语句和存储过程
- 使用@@,select case及Exec动态执行SQL语句