USER.TABLE_LNK_TRG.shにて、トリガ作成スクリプトUSER.TABLE_LNK_TRG.sqlをコンパイルしようとしています。
USER.TABLE_LNK_TRG.shとUSER.TABLE_LNK_TRG.sqlともに
変数ORACLE_SID_1の値としてdb1、
変数ORACLE_SID_2の値としてdb2
が入っているはずなのですが、USER.TABLE_LNK_TRG.sql内では
${ORACLE_SID_1}と${ORACLE_SID_2}がそのまま文字列として解釈され
(変数の値であるdb1、db2にはならない)、コンパイルに失敗します。
逆にUSER.TABLE_LNK_TRG.sql内で、${ORACLE_SID_1}と${ORACLE_SID_2}
を使わず、直接db1、db2と記述すると成功します。
トリガ作成スクリプトUSER.TABLE_LNK_TRG.sql内で、${変数}は使えないのでしょうか?
環境はOSはSolaris、DBはOracle9i、シェルはBシェルです。
_______________________________________________________________
~USER.TABLE_LNK_TRG.sh~
#!/bin/sh
ORACLE_SID_1="db1"
ORACLE_SID_2="db2"
#トリガコンパイル
sqlplus aaa/aaa <<-EOF
@USER.TABLE_LNK_TRG.sql
quit
EOF
exit
______________________________________________________________
~USER.TABLE_LNK_TRG.sql~
CREATE OR REPLACE TRIGGER USER.TABLE_LNK_TRG
BEFORE UPDATE
ON USER.TABLE FOR EACH ROW
declare
begin
update TABLE@${ORACLE_SID_1}_lnk
set col = :new.col;
update TABLE@${ORACLE_SID_2}_lnk
set col = :new.col;
exception
when others then
null;
end;
/
_______________________________________________________________
※${ORACLE_SID_1}、${ORACLE_SID_2}のままコンパイルされるので、
${ORACLE_SID_1}_lnkのDB環境、${ORACLE_SID_2}_lnkのDB環境が存在せずコンパイルエラー。
逆に直接db1、db2と記述するとdb1_lnkのDB環境、db2_lnkのDB環境が存在するので正常にコンパイル。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- その他(プログラミング・Web制作) Python でWindowsのショートカット(.lnk)のプロパティを参照したい 1 2023/02/01 15:09
- PHP php エラー 2 2022/10/23 16:43
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- ソフトウェア 移行PCにDockerがインストールされていても各種開発環境のアプリはインストールが必要? 2 2023/05/21 21:53
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
オラクル11gでインストール失敗...
-
SIDとSERVICE_NAMEの違いとは?
-
QOH'99SecondEditionのパッチ
-
Windows Storeを使わずに付箋を...
-
.NET Frameworkがコントロール...
-
oracleのメモリ使用量が97%ほど...
-
Windowsインストーラーmsiファ...
-
ORA-12514が出た時の対処法と原因
-
ObjectBrowserでエクスポート
-
ORA-12170のエラーについて
-
SQL 全角半角混在の文字列から...
-
東方紅魔郷
-
OracleDBConsoleorclのサービス...
-
Windows 10 Home で、SQL Serve...
-
DB2で SQL1032N start databas...
-
oracleの直接接続のクライアン...
-
Oracleのデータベースが使用不可に
-
クラスタリングとレプリケーシ...
-
現在の接続先の取得方法
-
オラクルに接続できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
oinstallとdbaグループ、所有ユ...
-
オラクル11gでインストール失敗...
-
SIDとSERVICE_NAMEの違いとは?
-
ORA-12170のエラーについて
-
DB2で SQL1032N start databas...
-
突然オラクルへ接続できなくな...
-
Windows Storeを使わずに付箋を...
-
oracleのメモリ使用量が97%ほど...
-
.NET Frameworkがコントロール...
-
データベース接続情報作成しま...
-
SQL 全角半角混在の文字列から...
-
住所コード11桁の住所データ...
-
Oracle11g SQLPlusログインにつ...
-
正しいSQLなのに「ORA-00936: ...
-
OraOps10.dllのエラーについて
-
データソース名および指定され...
-
ORA-12514が出た時の対処法と原因
-
クラスタリングとレプリケーシ...
-
倒産した18禁ゲーム会社のパ...
-
東方紅魔郷
おすすめ情報