create procedure pro_training2
as
begin
create view Tab1view As
select * from tab1
end
这可以在采购中创建一个视图吗?
答案 0 :(得分:3)
您可以使用动态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
但这是一种严重的代码味道。
答案 1 :(得分:0)
您已使用MySQL标记,但上述内容不是MySQL语法。
无论如何,如果你的意思是MySQL:是的,可以在一个过程中发出CREATE VIEW
,但使用不同的语法:
CREATE PROCEDURE pro_training2()
MODIFIES SQL DATA
BEGIN
create view Tab1view As select * from tab1;
END
答案 2 :(得分:0)
使用sp_executesql并指定数据库名称:
EXEC myDb1..sp_executesql N'CREATE VIEW Tab1view As select * from tab1'