在 DB1 中建立了一個存儲過程P_1 , 目的是
1.新建一個數據庫DB2 ,
2.把DB1中的表和和資料導入DB2
3.為DB2建立一個存儲過程P_2
create proc p_1
@DB nvarchar(20)
as
exec ( 'create database ' + @DB )
exec ('select * into ' + @DB + '.dbo.SYS_Slip from dbo.SYS_Slip ' ) -- 以表SYS_Slip為例
--以下語句如何寫?
exec ('Create Proc ' + @DB + '.dbo.P_2
as
select * from SYS_Slip '
)
Create Proc 前不允许有语句,而且use只在exec内部起作用不会带到外部的
多套一层exec就可以了:
create proc p_1
@DB nvarchar(20)
as
exec ( 'create database ' + @DB )
exec ('select * into ' + @DB + '.dbo.SYS_Slip from dbo.SYS_Slip ' ) -- 以表SYS_Slip為例
exec ('use '+@DB+' exec(''Create Proc P_2
as
select * from SYS_Slip '')'
)