1

データベースを Oracle から Teradata に移行しています。

.sql有効なトリガー DDL を含む.bteqファイルと.compile、これらのトリガーのコマンドを含むファイルがあります。しかし、これらの.bteqファイルを実行するとエラーが発生し、トリガーがロードされません。たとえば、ファイルtd_instrg1.sqlにはトリガー定義が含まれています。

CREATE TRIGGER TD_INSTRG1
AFTER INSERT
ON TD_EMPLOYEES
REFERENCING NEW AS X1
FOR EACH ROW
WHEN(X1.id is not null)
BEGIN ATOMIC
   (INSERT INTO TD_EMPLOYEES1     VALUES(X1.id, X1.name, X1.monthly_income);)
END;

ファイル td_instrg1.bteq には次のコマンドが含まれています。

.logon vmdbsrv016/dbc, dbc;

DATABASE twm;

.compile FILE=td_instrg1.sql;

.logoff;

bteqユーティリティを使用してスクリプトからトリガーをロードする方法を教えてください。

4

1 に答える 1

1

.COMPILEBTEQのコマンドは、Teradata ストアド プロシージャのコンパイル用に予約されています。トリガーの DDL ステートメントは直接実行できます。DDL を含む個別のファイルがある場合は、次の.RUNコマンドを使用して BTEQ 内から参照できます。

.logon vmdbsrv016/dbc, {password};

DATABASE twm;

.RUN FILE=td_instrg1.sql;

.logoff;
于 2013-06-14T16:00:55.917 に答える