在一个存储过程中,有如下代码
DECLARE @CKDMSQL nvarchar(200)
DECLARE @CKDM nvarchar(100)
SET @CKDMSQL='select SHCode from tb_storehouse'SET @CKDM=execute sp_executesql @CKDMSQL我想将执行@CKDMSQL变量中的SQL语句后得到的数据用@CKDM保存起来,请问如何操作呢?
DECLARE @CKDMSQL nvarchar(200)
DECLARE @CKDM nvarchar(100)
SET @CKDMSQL='select SHCode from tb_storehouse'SET @CKDM=execute sp_executesql @CKDMSQL我想将执行@CKDMSQL变量中的SQL语句后得到的数据用@CKDM保存起来,请问如何操作呢?
DECLARE @CKDM nvarchar(100)
SET @CKDMSQL='select SHCode from tb_storehouse'DECLARE @T TABLE(SHCode NVARCHAR(50))
INSERT @T execute sp_executesql @CKDMSQLSELECT * FROM @T
DECLARE @CKDM nvarchar(100)
SET @CKDMSQL='select SHCode from tb_storehouse'DECLARE @T TABLE(SHCode NVARCHAR(50))
INSERT @T exec(@CKDMSQL)
SELECT * FROM @T
DECLARE @CKDM nvarchar(100)
SET @CKDMSQL='select top 5 Name from sysobjects'DECLARE @T TABLE(SHCode NVARCHAR(50))
INSERT @T execute sp_executesql @CKDMSQLSELECT * FROM @T/*
sysrowsetcolumns
sysrowsets
sysallocunits
sysfiles1
syshobtcolumns
*/以系統表為例
DECLARE @CKDMSQL nvarchar(200)SET @CKDMSQL='select SHCode from tb_storehouse
WHERE SERVERID=(select SERVERID from tb_erpconfig WHERE ISMAIN=1 AND ISUSED=1)'DECLARE @T TABLE(SHCode NVARCHAR(50))
INSERT @T exec(@CKDMSQL)
SELECT * FROM @T
set @sqls='select count(*) from tableName'
exec(@sqls) --如何将exec执行结果放入变量中? declare @num int, @sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int ',@num
select @num