如何在sql server中执行多过程脚本
下面是我用SQLServer编写的select查询 这会回来的如何在sql server中执行多过程脚本,sql,sql-server,sql-server-2008,dynamic-sql,Sql,Sql Server,Sql Server 2008,Dynamic Sql,下面是我用SQLServer编写的select查询 这会回来的 qry ------------------------------------- exec pr_tblmaster_split 'tblmaster_1' exec pr_tblmaster_split 'tblmaster_2' 因此,我的问题是如何使用函数/过程运行返回查询 我正在尝试将PostgreSQL转换为SQL Server,所以 在PostgreSQL中,我可以使用这样的FOR循环 declare rw re
qry
-------------------------------------
exec pr_tblmaster_split 'tblmaster_1'
exec pr_tblmaster_split 'tblmaster_2'
因此,我的问题是如何使用函数/过程运行返回查询
我正在尝试将PostgreSQL转换为SQL Server,所以 在PostgreSQL中,我可以使用这样的FOR循环
declare
rw record;
begin
for rw in
select 'select fn_tblmaster_spliting(''tblmaster_'||t.tbl||''');' crTables from (
select distinct(year_id) tbl from tblmaster order by acyrid asc)t
loop
execute rw.crTables;
end loop;
end
将结果存储在
变量中
并通过sp_executesql
执行。试试这个
declare @sql nvarchar(max)=''
select @sql+= 'exec pr_tblmaster_split ''tblmaster_'+ Cast(year as nvarchar(4000)) +'''; '
from tblmaster
group by year_id
order by year_id asc
exec sp_executesql @sql
我也面临着这个问题,想问一个新问题,但在建议箱里我发现了这个问题,我的问题就解决了。谢谢你的回答
declare @sql nvarchar(max)=''
select @sql+= 'exec pr_tblmaster_split ''tblmaster_'+ Cast(year as nvarchar(4000)) +'''; '
from tblmaster
group by year_id
order by year_id asc
exec sp_executesql @sql