2012-02-14 21 views
0

それがうまく働きました。ステートメントの挿入問題

はその後、1晴れた日、私はそれを変更:

insert into foo(bar) select bar from foobar 

今では動作しません。

2番目のステートメントには何が間違っていますか?

私は将来このことに注意する必要があるかどうかを判断できるように、これらのことを知りたいと思います。

EDIT

今では明確であること。 MSSQLとOracleの構文が異なるかどうかを知りたい。あなたは2つの可能な構文の選択肢を持っている

+0

@juergendと更新質問をご確認ください – MozenRath

+0

@DennisTraubプラザチェック更新された質問 – MozenRath

+0

http://docs.oracle.com/cd/E11882_01/server.112/e17118/toc.htm – tbone

答えて

3

を助けてください:

insert into foo 
    select bar from foobar 


insert into foo (column_name_of_foo) 
    values (select bar from foobar) 

あなたのfooテーブルにはバー列をhabeていない場合は、そのあなたの中に列を命名しているので、あなたはあなたの2番目の構文でエラーになります何かを挿入したい。

最初の構文では、挿入する列の名前を付けていません。

+1

私はそれがうまくいくと思います。どうもありがとう! – MozenRath

2

2番目の文(insert into table (column))の構文を使用する場合は、あなたがvaluesキーワード自体は括弧で囲む必要があります値を追加する必要があります。

insert into foo (bar[, bar2]) values (select bar[, bar2] from foobar)