Teradata 存储过程

2018-01-12 15:17 更新

存储过程包含一组SQL语句和过程语句。 它们可能只包含程序性声明。 存储过程的定义存储在数据库中,参数存储在数据字典表中。

优点

  • 存储过程减少客户端和服务器之间的网络负载。

  • 提供更好的安全性,因为通过存储过程访问数据,而不是直接访问它们。

  • 提供更好的维护,因为业务逻辑被测试并存储在服务器中。

创建过程

存储过程使用CREATE PROCEDURE语句创建。

语法

以下是CREATE PROCEDURE语句的通用语法。

CREATE PROCEDURE <procedurename> ( [parameter 1 data type, parameter 2 data type..] ) 
BEGIN 
   <SQL or SPL statements>; 
END;

例子

考虑下面的薪资表。

员工编号收入扣除净收入
10140,0004,00036,000
10280,0006,00074,000
10390,0007,00083,000
10475,0005,00070,000

以下示例创建一个名为InsertSalary的存储过程以接受值并插入到Salary Table中。

CREATE PROCEDURE InsertSalary ( 
   IN in_EmployeeNo INTEGER, IN in_Gross INTEGER, 
   IN in_Deduction INTEGER, IN in_NetPay INTEGER 
) 
BEGIN 
   INSERT INTO Salary ( 
      EmployeeNo, 
      Gross, 
      Deduction, 
      NetPay 
   ) 
   VALUES ( 
      :in_EmployeeNo, 
      :in_Gross, 
      :in_Deduction, 
      :in_NetPay 
   ); 
END;

执行程序

存储过程使用CALL语句执行。

例子

以下是CALL语句的通用语法。

CALL <procedure name> [(parameter values)];

例子

以下示例调用存储过程InsertSalary,并将记录插入到“薪金表”中。

CALL InsertSalary(105,20000,2000,18000);

执行上述查询后,它将生成以下输出,您可以在Salary表中看到插入的行。

员工不扣除NetPay
10140,0004,00036,000
10280,0006,00074,000
10390,0007,00083,000
10475,0005,00070,000
10520,0002,00018,000
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号