![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
テーブル名を[]でくくらないとエラーになってしまいます
sqlserver 2008 express edition を利用しているのですが
テーブル名 やカラム名に[]でくくってSQL文を実行しないと
エラーが出てしまいます
例えば
select * from [table] の様にしないといけません
これを
select * from table で実行できるようにしたいのです
どうしたらいいのでしょうか
会社ではsqlserver2005を利用しているので
2008からは[]でくくる必要になったのでしょうか
それとも初期設定で何かしないといけないのでしょうか
設定方法を教えて下さい
sqlserver management studio2008もインストール済みです
No.1ベストアンサー
- 回答日時:
「table」はSQLの予約語です。
そのため初期設定などで、「table」をそのままSQL文に使用することは出来ません。これは他のRDBも同様です。SQL SERVERでは[]で括ることで、予約語をオブジェクト名に出来ますが、おすすめは出来ません。
なお、ANSI/ISOの標準規格では「"(ダブルクォーテーション)」で括ることで、同様にエラーを回避できます。SQL SERVERでも初期設定でANSI/ISOと同様に「"」で括るモードにすることは出来ますが、それでも予約語である以上何らかの対応は必要です。
> 会社ではsqlserver2005を利用しているので
> 2008からは[]でくくる必要になったのでしょうか
そんなことはないはずです。
No.3
- 回答日時:
予約後だけではなく、命名規則に反したテーブルも[]でくくれば作成できてしまいます。
当然、命名規則に反するのでselectする際もエラーになりますが、select時にも[]でくくればアクセス可能です。
あと、エラーがでるならエラーコードや内容や、本当に発行しているSQL(再現するもの)を書きましょう。
予約語が原因なのか命名規則に反するのか想定でしか書けません。
select * from tableはサンプルなのでしょうか。それでは予約語と突っ込みが入るのはしかたがありません。
create table 111 (a char(1))
メッセージ 102、レベル 15、状態 1、行 1
'111' 付近に不適切な構文があります。
create table [111] (a char(1))
コマンドは正常に完了しました。
select * from 111
メッセージ 102、レベル 15、状態 1、行 1
'111' 付近に不適切な構文があります。
select * from [111]
(0 行処理されました)
当然、数字のみのオブジェクトは命名規則に反します。
No.2
- 回答日時:
何で予約語をテーブル名にしてるの?
そこが信じられません。
以下のページに、こう書いてあります。
…Transact-SQL スクリプトで、SQL Server の予約済みキーワードを識別子およびオブジェクト名として使用することは構文的に可能ですが、これは識別子を区切って使用するときに限られます。
予約済みキーワード (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms189822 …
| それとも初期設定で何かしないといけないのでしょうか
| 設定方法を教えて下さい
初期設定も何も、予約語を使うなと書いてあるのですから、名前を変更するしか手はないです。
これは2005でも2008でも変わっていません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL 列が存在しないと言われる 2 2023/02/10 18:33
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- PostgreSQL postgreSQL カラムの全ての値を取得したい 3 2022/10/07 12:33
- Oracle SQL update方法 2 2022/06/22 14:07
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
SQLのエラー(~付近に不適切な構文があります)
SQL Server
-
'modify' 付近に不適切な構文があります。
SQL Server
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
-
4
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
5
ストアドのエラーについて
SQL Server
-
6
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
7
SQL文(テーブル項目名が特殊文字)
その他(プログラミング・Web制作)
-
8
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
9
列のヘッダーを含めるのをデフォルトにする。
SQL Server
-
10
GROUP BYでエラーが発生
SQL Server
-
11
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
12
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
13
バッチファイルでサーバーのファイルをクライアントへコピーしたい
その他(コンピューター・テクノロジー)
-
14
BCPでCSV内の文字列をテーブルのDatetime型カラムに取り込む方法
その他(データベース)
-
15
sqlserverにはグループ集計のfirstとlastがありません??
SQL Server
-
16
項目名の制限について
SQL Server
-
17
副問合せの書き方について
SQL Server
-
18
ASP.NET OleDbConnectionが定義がされていません
Microsoft ASP
-
19
2台のサーバー間でのテーブル結合方法
SQL Server
-
20
SQLでスキーマ名(所有者名)の修飾無しでテーブル参照したい
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
BULK INSERT時のNull許容について
-
Accessの重複なしのカウントの...
-
ACCESS2007 フォーム 「バリア...
-
SQL 不要な文字列を削除したい
-
Tverは無料でしょうか?
-
サーバー破壊
-
Visuaal Studio Community 2022...
-
Access2021 「ISNULL関数には引...
-
甘いものがすきなのってなおせ...
-
SQLて何ですか!
-
生え際から顎先まで17.5 頭頂か...
-
sql serveについて
-
SQLを駆使したデータ抽出ってど...
-
自己相関サブクエリと自己結合...
-
DBのテーブルの設計ができず困...
-
T-SQLを無料で勉強したいです。...
-
AccessのInsertクエリのあとつ...
-
これをSQL文で出来るでしょうか?
-
SQL 期間内の実施数を合計したい
-
SQLについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CLOB型へのINSERT
-
truncate文で全テーブルを一気...
-
count(1)とcount(*)の違い
-
1つのテーブル・2つの列を結合...
-
テーブル名を[]でくくらないと...
-
主キーが二つのテーブルのselec...
-
複数テーブルのUPDATE
-
Oracle テーブルの列削除
-
oracleのプライマリ・キー名の変更
-
グループの数を取得したい
-
oracle sqlで先頭の1件を取得
-
マンションのベランダでお酒の...
-
sqlplusで実行したSQLの結果を...
-
alter table でチェックボック...
-
Oracle複数の表をもとにmerge文...
-
ある英語の問題のコト
-
CASCADE CONSTRAINTSについて
-
ローマ字入力の文字リスト
-
create table as select
-
SQL2005 のクエリ文について
おすすめ情報