- 締切済み
見たことのないINSERT文
お世話になります。 他人の書いたSQLを解析して以下のようなコードを見つけました。 CREATE TABLE OYA ( ID NUMBER NOT NULL, NAME VARCHAR2(10) ) / CREATE TABLE KO ( ID NUMBER NOT NULL, OYA_ID NUMBER NOT NULL, NAME VARCHAR2(10) ) / INSERT INTO ( SELECT ID ,OYA_ID ,NAME FROM KO WHERE EXISTS ( SELECT ID FROM OYA WHERE NAME LIKE '%1' ) ) VALUES ( 1 ,1 ,'KODOMO-1' ); INSERT文でテーブル名を指定するかわりにSELECT文を指定しています。 SELECT INSERT文は知っていますが、このような表記は初めてです。 (文法エラーにならないのに驚きました) おそらく意図するところは、ある条件に一致したOYAが存在する場合に、KOをインサートするのだと思いました。 実際は、OYAがなくてもINSERTは実行されてしまいますが。。。 このような表記のINSERT文の説明が書いてあるサイトをご存知の方がいらっしゃいましたら、よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
noname#246547
回答No.5
- jjon-com
- ベストアンサー率61% (1599/2592)
回答No.4
noname#246547
回答No.3
- jjon-com
- ベストアンサー率61% (1599/2592)
回答No.2
- toshi_2000
- ベストアンサー率30% (306/1002)
回答No.1
お礼
ありがとうございます。大変勉強になりました。 インラインビューという書式なのですね。 名前がわからなかったため検索するキーワードも思いつきませんでした。