![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?5a7ff87)
ご教授よろしくお願い致します。
現在、table_aにInsertされたカラム(no,name)のデータを同時にtable_bにも反映するSQL文を考えております。
【table_a】
no | name | price
==============
005 apple 500
001 banana 250
【table_b】
no | name | color
=================
005 apple red
001 banana yellow
Insertをそれぞれのテーブルで実行すれば、もちろん反映はできるのですが一度のInsert文でできるのならそれにこしたことはありません。
いろいろ調べた結果、下記のサイトでできるようなことが記載してあったため、実行したのですが、『ALL』がシンタックスエラーとなってしまいます。
そのため、postgresのマニュアルを確認してみたところ、Insert文にALL句の指定は特別記載されていなかったため、できないとも思っているのですが…
サイト↓
http://www.atmarkit.co.jp/fdb/rensai/sqlclinic12 …
サイトを参考にしたSQL文
『INSERT ALL
INTO table_a(no,name) VALUES(005,apple)
INTO table_b(no,name) VALUES(005,apple);
』
何か良い方法をご存知の方がいましたら、ご教授よろしくお願い致します。同じことをUpadteでもやらなければいけないのですが、それはもう少し自分で考えてみます。
只、できないことが明白な場合は、ご指摘を頂けると有難いです。
環境としましては、
OS 【Windows xp】
DB 【PostgreSQL 8.2】
です。
No.2ベストアンサー
- 回答日時:
提示されたINSERTの構文は、Oracleのノウハウとして説明されたものです。
マルチテーブル・インサートは、Oracleの独自機能であり、他の主要なRDBMSでは実装されていません。
主要なRDBMSで特定の表にINSERT、UPDATE、DELETEした時、その背景で他表の更新をしたい場合は、トリガを使います。PostgreSQLでは、「トリガ」と、それと類似した機能で「ルール」があります。
返答が遅くなり、申し訳ありませんでした。
やはりマルチテーブル・インサートは、無いのですか...
その他のやり方という事で、ご教授して頂いた『ルール』を試してみます。
有難うございました。
No.3
- 回答日時:
複数tableを同時に追記するなら
transaction内でinsertを呼ぶしかないと思います。
table_AとBの関係性がよくわかりませんが
1つのテーブルにできるなら、table_A、BにあたるViewをつくればいいですが
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP php エラー 2 2022/10/23 16:43
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- MySQL テーブル作成時のカラムについて 2 2022/08/27 21:48
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
postgreSQLのint型は桁数指定が...
-
テーブルからのselectにおいて...
-
postgreSQLのオートナンバーに...
-
SQL文作成のお願い
-
pl/pgsqlで変数の扱い
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
datapumpの実行方法について
-
CLOB型へのINSERT
-
異なるスキーマからデータを抽...
-
特定のスキーマのテーブルを一...
-
Data Pump で大量データインポ...
-
エクセルからアクセスにインポ...
-
Access レコードを追加できませ...
-
SQLでスキーマ名(所有者名)の...
-
select insert 句
-
DELETE文でFROM句を省略した場合
-
検索結果の列数を動的に変更したい
-
ACCESS 複数テーブル・複数フィ...
-
INDEXの無効化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgreSQLのint型は桁数指定が...
-
テーブルからのselectにおいて...
-
UNIQUEをつけたときのINDEXテー...
-
PostgressからMySQL(MariaDB)...
-
クエリアナライザのsp_helpコマ...
-
3つのテーブルの処理について
-
チェックボックスから、データ...
-
SQL文作成のお願い
-
SQLで検索結果の記事を表示したい
-
JSPとデータベースのつがぐ
-
特定カラムの値を変更したいの...
-
phpPgAdminからSQL文を発行し、...
-
SQL SELECT文 別テーブルのレコ...
-
2つの異なるテーブルを和結合し...
-
PostgresSQL8.4でツリー上に取...
-
賢いSQL文がわからない
-
前方一致が動的に変更される場...
-
全テーブルのデータの行数
-
マルチテーブル・インサート
-
postgreSQLの正規表現
おすすめ情報