問題
before insertトリガーを使用する代わりにafter insertトリガーを使用する利点は何ですか。
- after insertトリガーを使用すると、開発者は新しいレコードの項目を更新する際に入力規則を回避できます。
- after insertトリガーを使用すると、開発者は新しいレコードを参照する他のオブジェクトを挿入できます。
- after insertトリガーを使用すると、開発者は外部サービスにコールアウトを行うことができます。
- after insertトリガーを使用すると、開発者はクエリなしで新しいレコードの項目を変更できます。
正解
- after insertトリガーを使用すると、開発者は新しいレコードの項目を更新する際に入力規則を回避できます。
- after insertトリガーを使用すると、開発者は新しいレコードを参照する他のオブジェクトを挿入できます。
- after insertトリガーを使用すると、開発者は外部サービスにコールアウトを行うことができます。
- after insertトリガーを使用すると、開発者はクエリなしで新しいレコードの項目を変更できます。
解説
それぞれの選択肢の理由について説明します。
□ after insertトリガーを使用すると、開発者は新しいレコードの項目を更新する際に入力規則を回避できます。
これは不正解です。after insertトリガーはデータがデータベースに挿入された後に実行されるため、入力規則を回避することはできません。入力規則は挿入または更新操作がデータベースに保存される前に適用されます。
□ after insertトリガーを使用すると、開発者は新しいレコードを参照する他のオブジェクトを挿入できます。
これは正解です。レコードがデータベースに挿入された後、そのレコードのIDなどの識別情報が利用可能になります。そのため、after insertトリガーを使用して、これらの情報を参照する関連オブジェクトやレコードを作成することができます。
□ after insertトリガーを使用すると、開発者は外部サービスにコールアウトを行うことができます。
これは不正解です。トリガー内でのコールアウトは、非同期処理を使用しない限り、直接サポートされていません。beforeまたはafterトリガーのいずれでも、直接コールアウトを行うことは推奨されません。
□ after insertトリガーを使用すると、開発者はクエリなしで新しいレコードの項目を変更できます。
これは不正解です。after insertトリガーではレコードがすでにデータベースに挿入されているため、そのレコードを変更するには別途更新操作(DML操作)が必要です。ただし、レコードの変更が必要な場合は、通常、before insertトリガーを使用して、データベースに保存される前に変更を行います。
コメント