我已經寫了一個存儲過程,其中表名和數據庫名使用來自不同兩個表的遊標收集 。
但我的問題是,當我運行一個查詢來找出一個表中存在的數據庫或沒有,然後顯示一個錯誤。 現在我該如何運行查詢和存儲輸出到一個變量?如何從sys.tables中獲取表名並將輸出存儲在變量中?
Declare @table_exist nvarchar(200),@val1 nvarchar(200),@return1 nvarchar(200);
SET @table_exist=
'SELECT 1 FROM '[email protected]_name+'.sys.tables
where name='[email protected]_name+'';
EXEC sp_executesql @table_exist,@return1 OUTPUT;
select @return1;
錯誤:
Invalid column name 'table name'
看起來非常髒編寫的代碼。 – Sajmon
然後請改進它(如我已經完成)或寫一個答案 –