我想创建一个临时存储过程来创建多个 View ;所以像这样:
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
但是,这似乎是一种做我想做的事情的糟糕方式。
那么第一次尝试有什么问题,在存储过程中创建多个 View 的最佳方法是什么?
最佳答案
您不能在存储过程中使用 go
。它不是 SQL 中的命令,它是 SQL 管理器中批处理之间的分隔符,因此它将把过程分成两个批处理并导致语法错误,因为两个批处理都不是完整的命令。
关于sql - 如何在存储过程中创建多个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5646575/