Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server:Трябва ли да използвам GO изрази между партидите?

Те не са строго задължителни - те са просто инструкции за SQL Server Management Studio да изпълни операторите до този момент сега и след това да продължи. GO ене T-SQL ключова дума или нещо подобно - това е просто инструкция, която работи в SSMS.

Понякога имате нужда от GO - напр. ако добавите колона към таблица и след това искате да я изберете отново, трябва да имате GO между добавянето на колоната и заявката за нея.

напр. ако се опитате да изпълните това, ще получите грешки от SSMS:

ALTER TABLE (sometable) ADD DateTimeStamp DATETIME

SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5

Резултати в:

Въпросът е:SSMS се опитва да провери целия оператор наведнъж, но в оператора SELECT ще се оплаче от липсващия DateTimeStamp колона.

ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
GO       

SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5

Ако поставите GO между двата израза, ще работи, тъй като SSMS няма да анализира и проверява целия оператор предварително - той ще направи първата част и след това ще анализира само втората (след GO ).

Но освен ситуации като тази, GO почти никога не е необходим.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какъв е максималният брой знаци за NVARCHAR(MAX)?

  2. Кой е най-дългият възможен телефонен номер в световен мащаб, който трябва да взема предвид в SQL varchar(дължина) за телефона

  3. Намерете асоциациите между пощенските акаунти в базата данни и принципите на базата данни в SQL Server (T-SQL)

  4. 3 начина за връщане на низ от множество интервали в SQL Server

  5. Добавете потребител на Windows към локален SQL сървър с PowerShell