mysql 视图 动态sql_sql-server – 使用动态Sql创建视图
我正在嘗試創建一個動態數據庫創建腳本.
有很多步驟,我們經常創建這個數據庫,所以腳本看起來像這樣.
DECLARE @databaseName nvarchar(100) = 'DatabaseName'
EXEC('/*A lot of database creation code built off of @databaseName*/')
除了我們在此數據庫中創建的一個視圖外,這一切都很好.
我理解的問題源于SQL中關于EXEC命令的三個規則
> USE背景只對EXEC的生命有效
>’CREATE VIEW’必須是查詢批處理中的第一個語句
> GO實際上不是SQL命令,因此在動態sql中不允許這樣做
>在CREATE VIEW上,您只能指定為Schema.
所以這里有三件我嘗試過但沒有成功的事情.
--1.Results in my view not being created in my database
EXEC ('USE [' + @databaseName + ']')
EXEC ('CREATE VIEW')
--2.Results in a 'CREATE VIEW' must be the first statement in a query batch
EXEC
('
USE [' + @databaseName + ']
CREATE VIEW
')
--3.Results in Incorrect syntax near 'GO'
EXEC
('
USE [' + @databaseName + ']
GO
CREATE VIEW
')
--4.Results in 'CREATE/ALTER VIEW' does not allow specifying the database name as a prefix to the object name.
EXEC ('CREATE VIEW [' + @databaseName + '].[dbo].[ViewName]')
有什么建議?我認為這應該是一個常見的用例,但谷歌無法幫助我.
總結
以上是生活随笔為你收集整理的mysql 视图 动态sql_sql-server – 使用动态Sql创建视图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jq获取表格里的checkbox_Pyt
- 下一篇: matlab语音信号处理实验_现代通信综