Teradata-stored-procedure
提供:Dev Guides
Teradata-ストアドプロシージャ
ストアドプロシージャには、一連のSQLステートメントとプロシージャステートメントが含まれます。 手続き的なステートメントのみを含めることができます。 ストアドプロシージャの定義はデータベースに保存され、パラメータはデータディクショナリテーブルに保存されます。
利点
- ストアドプロシージャにより、クライアントとサーバー間のネットワーク負荷が軽減されます。
- 直接アクセスするのではなく、ストアドプロシージャを使用してデータにアクセスするため、セキュリティが向上します。
- ビジネスロジックがテストされ、サーバーに保存されるため、メンテナンスが向上します。
作成手順
ストアドプロシージャは、CREATE PROCEDUREステートメントを使用して作成されます。
構文
以下は、CREATE PROCEDUREステートメントの一般的な構文です。
例
次の給与表を検討してください。
EmployeeNo | Gross | Deduction | NetPay |
---|---|---|---|
101 | 40,000 | 4,000 | 36,000 |
102 | 80,000 | 6,000 | 74,000 |
103 | 90,000 | 7,000 | 83,000 |
104 | 75,000 | 5,000 | 70,000 |
次の例では、値を受け入れて給与テーブルに挿入するInsertSalaryという名前のストアドプロシージャを作成します。
手順の実行
ストアドプロシージャは、CALLステートメントを使用して実行されます。
構文
CALLステートメントの一般的な構文は次のとおりです。
例
次の例では、ストアドプロシージャInsertSalaryを呼び出し、Salary Tableにレコードを挿入します。
上記のクエリが実行されると、次の出力が生成され、Salaryテーブルに挿入された行が表示されます。
EmployeeNo | Gross | Deduction | NetPay |
---|---|---|---|
101 | 40,000 | 4,000 | 36,000 |
102 | 80,000 | 6,000 | 74,000 |
103 | 90,000 | 7,000 | 83,000 |
104 | 75,000 | 5,000 | 70,000 |
105 | 20,000 | 2,000 | 18,000 |