sql server 2005 中的exec sp_executesql问题

比如说,我有两个存储过程a、b
alter proc[dbo].[a]
as
begin
select '要得到的东东'
end

alter proc[dbo].[b]
as
begin
exec sp_executesql 'a'
end
b中能返回表,但是我不知道在b中如何获得“'要得到的东东'”这个值
就是在b中得到a里select出来的值啊!

第1个回答  2008-12-11
你想要的是什么东东

exec sp_executesql 'a'

这个a不要加引号!

sql 存储过程 exec sp_executesql
sp_executesql 支持对 Transact-SQL 字符串中指定的任何参数的参数值进行替换,但是 EXECUTE 语句不支持。因此,由 sp_executesql 生成的 Transact-SQL 字符串比由 EXECUTE 语句所生成的更相似。SQL Server 查询优化器可能将来自 sp_executesql 的 Transact-SQL 语句与以前所执行的语句的执行计划相匹配,...

exec sp_executesql 执行参数替换语法出错
其实你用 print @sqlstring 就可以看出那里有问题了。print出来的sql语句为 select jobnum from labordtlwhere jobnum = @jobnum andclockindte = @clockindate 该空格的地方没有空格,所以才会报错。第二个错误:parm定义的是@startdate,但查询却用@clockindate 修正后如下 declare @sqlstring nvar...

sql2005出现的错误? 消息 102,级别 15,状态 1,第 1 行 '30' 附近有...
exec SP_EXECUTESQL @sql output 这一句不要就Ok啦 麻烦采纳,谢谢!

exec sp_executesql比sql直接执行慢很多
sp_executesql参数化查询的一个优点就是查询计划的重用,但是有时候确恰巧相反,正因为计划重用,当数据分布发生了很大变化,需要改变查询计划以适应新的数据分布时,参数化查询则仍会沿用原来的计划,而单独的sql语句或者非参数化sql则每执行一次都会重新编译创建新的查询计划 ...

关于SQL中exec sp_executesql的解释~!!
exec sp_executesql N'SELECT LA001, LA014, LA005, LA011, LA013, LA021 FROM cgjterp..INVLA INVLA WHERE LA001=@P1 AND LA009=@P2 ORDER BY LA001, LA009 ' 到这里是定义一个动态sql N'@P1 varchar(20),@P2 varchar(10)' 是对动态sql里用的变量申明 '301110101001', '01' 给...

sql server 中sp_executesql 指定了过多的参数?
exec sp_executesql @sql,N'@_weight float output',@weight,output;结尾的output前面多了个逗号,是多余的

exec sp_executesql N'select * from xtsz where szmc=@P1是什么意 ...
exec sp_executesql N'select * from xtsz where szmc=@P1,你可以这样理解:exec sp_executesql:用来执行sql语句的 N:表示结果为unicode select * from xtsz:检索xtsz表中的数据 where szmc=@P1:条件是szmc的值为@P1变量

sql server查询表的第一个字段\/第一列
SQL SERVER里可以用exec sp_executesql 用1楼的方法可以查出第一列的名称 declare @A varchar(20)declare @sql Nvarchar(200)select @A=column_name from information_schema.columns where table_name='表名' and ordinal_position=1 set @sql=N'select '+ @A +' from om_order'exec sp_...

数据库的EXEC是什么意思,应该怎么用呢?
sqlserver中 EXEC命令有两种用法,一种是执行一个存储过程,另一种是执行一个动态的批处理 1.使用系统存储过程sp_executesql运行Unicode命令字符串 语法如下:sp_executesql [@stmt=] stmt [{,[@params=] N'@parameter_name data_type [,...n]'} {,[@param1=] 'value' [,...n]} ]说明...

拜托大家帮忙设计一个Sql Server 2005 的存储过程。。。本人初学,却要...
Exec sp_executesql @sql,N'@len int output',@len OUTPUT;PRINT @col+N'最大长度为:'+CAST(ISNULL(@len,0) AS VARCHAR(1000));IF @len>0 BEGIN SELECT @sql='Alter Table '+@tableName+' alter column '+@col+' '+@type+'('+CAST(CAST(ISNULL(@len,0)*1.5 AS INT) AS ...

相似回答
大家正在搜