4
Oracleトリガーを作成しています。このトリガーは、挿入されたばかりの行のoidになるように、productId列の値を自動的に設定する必要があります。自動的に列の値を設定するためのOracle SQLトリガー
私が書いたトリガーは、次のとおりです。
create or replace trigger MyProduct_id_trg
after insert on MyProduct
begin
update MyProduct set productId = inserted.oid where oid = inserted.oid;
end;
しかし、これは動作しません。
誰かがこれを手伝ってくれますか?
よろしくお願いいたします。
:(ない後前、および
for each row
に注意してください。):これを試してみてください。返信いただきありがとうございます。しかしこれはうまくいかないようです。 – Kevin
申し訳ありません。 productIdはvarchar2で、oidはintです。タイプ変換をする必要がありますか? – Kevin
@Kevin - 暗黙的な変換があります(製品IDが完璧な番号でない場合はエラーが発生します)。ただし、必要なときに明示的に変換することを常にお勧めします。また、常に番号を格納する場合、WHYはプロダクトID varchar2ですか? –