亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這個存儲過程的錯誤怎么改

這個存儲過程的錯誤怎么改

慕工程0101907 2018-12-06 15:29:56
create procedure C as if(exists(select name from tempdb..sysobjects where name like'%A%' and type='U')) begin drop table #A end SELECT * INTO #A FROM tbTriopticsRowDataHistory delete from #A where operator like '%10CM%' and matchtype<>'T' delete from #A where operator not like '%10CM%' and matchtype<>'M' 消息 3701,級別 11,狀態 5,過程 C,第 5 行 無法對 表'#A' 執行 刪除,因為它不存在,或者您沒有所需的權限。 (68677 行受影響) (0 行受影響) (0 行受影響) (1 行受影響)
查看完整描述

2 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

你看一下你的if(exists(select name from tempdb..sysobjects where name like'%A%' and type='U')),這句是現在數據庫中查詢一下有沒有對象名中帶"A"的,有的話刪掉,但是你刪的時候刪的是#A這個對象,你就這么確定一定存在這么一個對象?兩個解決辦法,確定就是要刪除這個表的話,就改成這樣if(exists(select name from tempdb..sysobjects where name?='#A' and type='U')),不確定的話就先查詢出對象名,存放在變量中,再去刪除。

查看完整回答
反對 回復 2019-01-07
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

%A% 不代表#A,它可能是#ATR之內的,所以你的判斷有問題,if(OBJECT_ID('tempdb..#t1') is not null)
?drop table #t1 這樣試試

查看完整回答
反對 回復 2019-01-07
  • 2 回答
  • 0 關注
  • 517 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號