[英]T-SQL equivalent of GO
我正在嘗試編寫一個 T-SQL 腳本來創建一個數據庫和相應的表。 我遇到了一個問題, USE
語句抱怨我剛剛“創建”的數據庫不存在。 如果我在 SQL Server Management Studio 中運行腳本以便可以使用GO
語句,則不會出現此問題。
是否有與 GO 等效的 T-SQL 可用於確保在USE
之前執行CREATE DATABASE
?
我試過BEGIN
/ COMMIT TRANSACTION
和BEGIN
/ END
但它們沒有幫助。
是否有與 GO 等效的 T-SQL 可用於確保在 USE 之前執行 CREATE DATABASE?
是的。 動態 SQL。 每個動態 SQL 調用都作為單獨的批處理進行解析、編譯和執行。
例如:
exec ('
create database foo
')
exec ('
use foo
create table bar(id int)
')
請注意,在動態 SQL 中use database
僅更改動態批處理的數據庫上下文。 當控制返回到調用批處理時,數據庫上下文被恢復。
在 C# 中,您應該為每個批處理使用單獨的 SqlComand 調用。
高級步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.