「GO」はT-SQL言語ではありません。これは、SSMS などのクライアント ツールによってバッチ セパレータとして解釈されるキーワードです (つまり、「テキストをサーバーに送信する」ことを意味します)。
現在、CREATE TRIGGER はバッチ内の最初のステートメントでなければならないため、「USE dbname」は使用できません。
EXEC の前に「USE dbnname」を指定すると、接続用のデフォルト データベースに登録される可能性があります。テストする必要があります(今はできません、申し訳ありません)
--Might work
USE dbase
EXEC ('CREATE TRIGGER [blah]
')
または、sqlcmd または osql を使用して接続し、コードを実行する必要があります。これにより、接続時に db コンテキストを設定できます。ただし、T-SQL 内ではありません。
または、EXEC の前に ALTER LOGIN xxx WITH DEFAULT_DATABASE = dbname を試すことができます
ALTER LOGIN xxx WITH DEFAULT_DATABASE = dbname
--Now the EXEC will connect to default db if above approach fails
EXEC('CREATE TRIGGER [blah]
')