現在、SQLServerをA5:SQL Mk 経由で開発を行っており、とあるテーブルに列を追加しようSQLを書いたのですが、
「'GO' 付近に不適切な構文があります。」と出ます。
ALTER TABLE [スキーマ].[テーブル名] ADD [カラム名] [nvarchar](10) GO
開発を始めて、日も浅く、原因が見つからず困っております。
どなたかご教授お願い申し上げます。
列の追加自体はGUI機能を使えば、可能なのですが、数が多く、SQLで一括してやってしまうために書いております。
何か情報が不足していたら、ご指摘お願いします。
※追記
サーバー上のSQLserverManagementeStudio で同じ文を実施すると可能実施できました。
SQLServerには詳しくないんですが、GOってなんですか?
私も詳しく理解していないのですが、Transact-SQLにおけるバッチの終了コマンドとあるので、本当はクエリやコマンドをまとめて書いて最後に書くものかなと認識しております。
とりあえず、区切り文字として行末に";"を追加してみてください(ダブルクォートは不要)

A5:SQL mkIIで開発しているようですが、当のSQL Serverへの接続は直接接続なのか、汎用接続なのか。
「区切り文字を;に変更するとキャレットをSQL区切り文字の前において実行してください」と出力されます。
>m6uさん 申し訳ないです。汎用接続と直接接続の違いがわからないのですが、どういった違いがあるのでしょうか??
ん?カーソルを区切り文字より前例えば行頭とかで実行すると?
>unz.horiさん 改行して2行目から書いていましたが、GO無しならば、1行目を詰めて記述したものは実行できました。;は使っていません。
実行位置ってどうなってますか?緑の三角アイコンのやつ
特に変化はありません。
どこに対する回答?私の質問はカーソル位置のを実行とかカーソル以降を実行とか選択できるようになってるけどどうなってるって質問ですが。
>unz.horiさん 実行位置はキャレット位置という設定でした。また、その下にあったSQLの区切りの設定が"";"になっていたのが原因だったようです。

回答1件
あなたの回答
tips
プレビュー