create procedure pro_training2
as
begin
create view Tab1view As
select * from tab1
end
這是可能在採購中創建一個視圖嗎?可以通過存儲過程創建視圖嗎?
create procedure pro_training2
as
begin
create view Tab1view As
select * from tab1
end
這是可能在採購中創建一個視圖嗎?可以通過存儲過程創建視圖嗎?
您可以使用動態SQL(例如,
CREATE PROCEDURE dbo.pro_training2
AS
BEGIN
DECLARE @sql NVARCHAR(MAX);
SET @sql = N'CREATE VIEW dbo.Tab1View AS SELECT <columns> FROM dbo.tab1;';
EXEC sp_executesql @sql;
END
GO
但這是嚴重的代碼異味。
雖然以上不是MySQL語法,但您已使用MySQL標記。
無論如何,如果你也意味着MySQL的:是的,這是可以從過程中發出CREATE VIEW
,但使用不同的語法:
CREATE PROCEDURE pro_training2()
MODIFIES SQL DATA
BEGIN
create view Tab1view As select * from tab1;
END
使用sp_executesql的並指定數據庫名稱:
EXEC myDb1..sp_executesql N'CREATE VIEW Tab1view As select * from tab1'
爲什麼,哦,爲什麼,你想這樣做?你能決定你是否在使用MySQL或SQL Server嗎? – 2012-07-18 13:39:55