insert exec proc不能巢狀的解決方法
儲存過程c返回乙個結果集,儲存過程b用insert/exec proc將c返回的結果集存入乙個臨時表中並返回乙個結果集,
如果儲存過程a用insert/exec proc再將b的結果集存入乙個臨時表,這時會報錯:insert exec 語句不能巢狀。
解決方法就是:
將過程b的insert/exec proc語句替換為
insert into #t
select *
from openrowset('msdasql',
'driver=;server=192.168.0.1;uid=sa;pwd=111111;initial catalog=pubs',
'exec pubs.dbo.pc') as a
即可,不過好像在過程a中要先執行一下過程b才行,即在a過程的語句insert/exec proc的前面加上exec b。
只要過程b先執行一次,以後可以不用再執行a也能夠正常執行了,這樣可將過程b設定為啟動時執行即可(用系統過程sp_procoption設定)
create proc pc
asselect top 10 * from authors
drop proc pb
create proc pb
as select * into #t from authors where 1=0
--insert into #t exec pc
insert into #t
select *
from openrowset('msdasql',
'driver=;server=192.168.0.1;uid=sa;pwd=111111;initial catalog=pubs',
'exec pubs.dbo.pc') as a
select * from #t
create proc pa
as select * into #t from authors where 1=0
exec pb
insert into #t exec pb
select * from #t
exec pb
exec pa
或者用下面的方法解決:
先建乙個連線到自身資料庫的連線伺服器,如下:
exec sp_addlinkedserver
@server = 'self',
@srvproduct = '',
@provider = 'msdasql',
@datasrc = null,
@location = null,
@provstr = 'driver=;server=(local); initial catalog=master;uid=sa;pwd=111111;'
然後再開啟該連線伺服器的rpc功能,右擊該連線伺服器,單擊屬性,單擊伺服器選項,然後選中rpc和rpc輸出項即可。
在過程a中的語句insert into #t exec pb更新為insert into #t exec self.pubs.dbo.pb即可。全部**如下:
--建立過程c
create proc pc
asselect top 10 * from authors
--建立過程b
create proc pb
as select * into #t from authors where 1=0
insert into #t exec pc
select * from #t
--建立乙個自連線的伺服器
exec sp_addlinkedserver
@server = 'self',
@srvproduct = '',
@provider = 'msdasql',
@datasrc = null,
@location = null,
@provstr = 'driver=;server=(local); initial catalog=master;uid=sa;pwd=111111;'
--建立過程a
create proc pa
as select * into #t from authors where 1=0
insert into #t exec self.pubs.dbo.pb
select * from #t
--執行過程a,測試通過
不信謠,不傳謠,不造謠
不信謠,不傳謠,不造謠 最近謠言四起,實在看不下去了,在網路奔波也有7 8年哉,深知和俺一樣長期穿馬甲逛街的,流竄於各大社群,三人為虎之厲害,但只基於八卦,不可越界!一直視為馬甲本質,也是一合格網民基本道德,可最近的八卦有變,大家認真分辨,別上了他們的圈套,這次 謠言有以下幾個階段性特徵 一階段 攻...
不饒點滴,不饒自己
昨晚又重複了聽了一遍曹禺大師與黃永玉大師的來信,由張國立和王耀慶播講。印象最深的,是永玉大師說的一句,不饒點滴,不饒自己 原文是這樣,你是我極尊敬的前輩,所以我對你要嚴!我不喜歡你解放後的戲,乙個也不喜歡。你心不在戲裡,你失去偉大的靈通寶玉,你為勢位所誤!從乙個海洋萎縮為一條小溪流,你泥溷在不情願的...
不不不!我要認真寫部落格! Django的安裝
作為乙個部落格小白,我先寫乙個簡單的來練練手。本文主要引用了中的內容,是大神翻譯的django 1.8 中文文件,強烈推薦,如果不想看我的就去看看他們寫的吧!django作為python的乙個web框架,想要使用django的話,首先你要安裝python是不是?安裝pip工具,用來安裝django的...