sql >> Databáze >  >> RDS >> Sqlserver

SQL Server:Musím mezi dávkami používat příkazy GO?

Nejsou striktně vyžadovány – jsou to pouze pokyny pro SQL Server Management Studio, aby nyní provedlo příkazy až do tohoto bodu a poté pokračovalo. GO není klíčové slovo T-SQL nebo cokoliv jiného – je to jen instrukce, která funguje v SSMS.

Někdy potřebujete GO - např. pokud přidáte sloupec do tabulky a poté jej chcete znovu vybrat, musíte mezi přidáním sloupce a jeho dotazem přejít.

Např. pokud se pokusíte provést toto, obdržíte chyby z SSMS:

ALTER TABLE (sometable) ADD DateTimeStamp DATETIME

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

Výsledky v:

Jde o to, že SSMS se pokouší ověřit celý příkaz najednou, ale na příkazu SELECT si bude stěžovat na chybějící značku DateTimeStamp sloupec.

ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
GO       

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

Pokud vložíte GO mezi těmito dvěma příkazy to bude fungovat, protože SSMS nebude analyzovat a ověřit celý příkaz předem - udělá první část a pak teprve analyzuje druhou (po GO ).

Ale kromě situací, jako je tato, není GO téměř nikdy vyžadováno.



  1. Odstraňování problémů:Chyba MySQL/MariaDB #1044 Е Přístup odepřen uživateli

  2. Jak zrychlit SELECT .. LIKE dotazy v MySQL na více sloupcích?

  3. Převést formát data SQL? [dd.mm.yy až RRRR-MM-DD]

  4. Funkce MIN() v PostgreSQL