[英]Why should I use GO command in sybase?
為sybase編寫sql時為什么要使用GO
? 在我的項目的大多數現有sql中,沒有GO,但是當為表創建生成DDL時,作為示例,應用程序插入許多GO語句。
感謝答案,我知道GO
類似於;
在其他數據庫中,人們已經有人指出它是一個分隔符。
另外一個問題是,sybase中的GO
完全等同於打字;
在Oracle?
這是一個批處理分隔符。 GO
用於告訴引擎處理單詞GO
之后的所有內容作為批處理中的新命令。
CREATE PROC usp_blah as ...
GO
CREATE some-otherproc as ...
GO
如果沒有GO
,優化器將在第二個CREATE
語句中拋出錯誤
相比:
Do something
GO
Do something else
Go
至:
Do something
Do something else
如果在第一個示例中的“執行某些操作”期間出現錯誤,則仍會運行“執行其他操作”。 在第二個例子中不是這種情況。 正如Stuart指出的那樣,有些動作需要成為批處理的第一個語句,這意味着你必須將GO放在它們之前,除非它是你文件的第一行。
所謂的分隔符go不是SAP / Sybase Transact-SQL語言語法的任何一部分。
它通常被認為是一個批處理分隔符,用於將一堆T-SQL語句與下一個語句分開。
由於所有SAP / Sybase批處理腳本都是使用本機isql命令行客戶端執行的,因此isql客戶端會將go解釋為將目前為止在其緩沖區中輸入的所有T-SQL命令通過Server-Client提交給ASE服務器的信號用戶網絡連接(go不會出現在網絡跟蹤中,也不會發送到服務器)。
順便說一下,isql只能識別只用小寫字母而不是任何空白區域。
GO是一個SQL分隔符
在作業命令的文本[gG的] [OO]的任何事件被看作是一批分隔符go
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.