我想創建一個臨時存儲過程來創建幾個視圖;所以是這樣的:如何在存儲過程中創建多個視圖?
create proC#t1 as
begin
create view v1 as select 1 as x
go
create view v2 as select 2 as x
end
不幸的是,當我在Microsoft SQL Server 2005中執行此,我得到第一create view
行語法錯誤。
事情是這樣工作的:
create proC#t1 as
begin
exec('create view v1 as select 1 as x')
exec('create view v2 as select 2 as x')
end
然而,這似乎是在做我想要什麼的可怕方式。
那麼,什麼是錯的第一次嘗試,什麼是創建一個存儲過程中的多個視圖的最佳方式?
你爲什麼要創造這樣一個存儲過程中的視圖裏面程序語句創建視圖? ?視圖是數據庫的一部分 - 它應該與其他DML語句來創建.... – 2011-04-13 09:28:10
「這似乎是在做我想要什麼的可怕的方式」 - 我同意(兩種形式)。也許如果你能告訴我們你想要達到什麼樣的總體目標,我們可以提出一個解決方案。正如marc_s所說,你通常不會創建視圖作爲存儲過程的一部分。 – 2011-04-13 09:37:18
我可以想象,在存儲過程中創建視圖是不錯的。 – HLGEM 2011-04-13 17:53:55