質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle Database 11g

Oracle DatabaseはRDBMSの商品です。具体的な発売商品として知られているのが、 Oracle9i、Oracle10g、Oracle 11gとOracle 12cです。

Q&A

解決済

2回答

9799閲覧

Oracleで特定のカラムをUPDATEできない

ttpk

総合スコア338

Oracle Database 11g

Oracle DatabaseはRDBMSの商品です。具体的な発売商品として知られているのが、 Oracle9i、Oracle10g、Oracle 11gとOracle 12cです。

0グッド

0クリップ

投稿2019/06/25 08:31

ご覧いただきありがとうございます。

Oracleで

SQL

1UPDATE table_name SET SIZE=1 WHERE ID = '2019062610001'

というSQLを投げたところ

ORA-01747: user.table.column、table.columnまたは列指定が無効です

というエラーが出ました

カラム一覧をCtrl+Fで検索し、SIZEというカラム名のスペルミスなどが原因でないことは
確認済みです。

エラーに心当たりはありますでしょうか。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

SIZE はSQLの予約語 予約語は使ってはなりません。

投稿2019/06/25 08:39

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

列名が予約語だからじゃないですか。

ご参考

投稿2019/06/25 08:35

gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ttpk

2019/06/25 10:27

UPDATE table_name SET "SIZE"=1 WHERE ID = '2019062610001' のようにカラム名にダブルクォーテーションをつけると予約語でも通りました
Orlofsky

2019/06/25 10:56

ダブルクォーティングを知らないメンバーからバグだ、って休日に緊急呼び出しを食らったとか、トラブルの元です。 テーブル名、列名、インデックス名、制約名 etc. に予約語を使わないのが鉄則です。
gentaro

2019/06/25 11:36

推奨されない行為であることはご自身の回答に書いてあるんだから、そこさえ伝えたんなら、想像まで交えて必要以上にしつこく言っても意味ないでしょ。あとは本人なりそのプロジェクトのメンバーが決める話。趣味の使い捨てプログラムかもしれないんだし。
ttpk

2019/07/02 11:32

Orlofskyさん、gentaroさん お返事が遅くなりすみません。業務で使うデータベースなのでベストアンサーの回答をいただいた直後にメンバーに相談しました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問