我知道GO是批处理终止符。鉴于以下SQL,在DB1或DB2上执行更改的数据库是什么?
USE [DB1]
GO
USE [DB2]
IF NOT EXISTS(
SELECT *
FROM INOFRMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'MyTable'
AND COLUMN_NAME = 'NewColumn')
BEGIN
ALTER TABLE [DBO].[MyTable] ADD [NewColumn] bit NULL;
END
GO
有人告诉我,必须在USE之后立即放置GO,否则它将在先前使用的数据库上执行。它是否正确?为什么?