1.什么是存储过程
存储过程是定义在Teradata数据库或用户空间中的对象,是可以执行的,包含
两种类型的语句:
1)SQL 语句 (StructuredQuery Language)
2)SPL 语句 (StoredProcedure Language)
SQL语句用于访问Teradata数据库中一个或多个表中的记录。SPL语句对执行
SQL语句增加了过程控制。
SPL提供了大多数第三代语言的功能:
1)分支逻辑条件逻辑
2)错误处理逻辑
3)退出逻辑
Teradata存储过程的其他特点包括:
1)可以包含输入/输出参数
2)可以包含处理例外情况的例外处理程序
3)可以包含说明的局部变量
4)通常包含SQL语句,但不要求
2.存储过程的特点
存储过程有下列特点:
1)存储在Teradata服务器端。
2)在Teradata服务器端编译和执行。
3)编译后的对象存储在存储过程表中。
4)源代码也可以存储在存储过程表中。
5)要求占用永久空间(permspace)。
使用SQL,用户可以对存储过程执行下列操作:
1)CREATE PROCEDURE
2)REPLACE PROCEDURE
3)RENAME PROCEDURE
4)DROP PROCEDURE
5)SHOW PROCEDURE
下列工具支持存储过程:
1)BTEQ
2)CLIv2
3)PP2
4)ODBC
5)QUERYMAN
6)TeqTalk(DMTEQ)
7)JDBC
8)ANSI SQL99 (SQL3)
9)PSM-96
3.存储过程的优势
传统的SQL请求来自客户机端,与之不同,存储过程包含的SQL请求来自服务
器端,并且在服务器端处理。SQL请求被服务器端的数据库管理软件激活,传递给
解析器(Parser),请求和应答被创建、处理,并可以返回给存储过程。存储过程将
结果集、状态码或计算结果返回给客户端应用。
使用存储过程有许多好处:
1)存储过程减少了客户机和服务器之间的网络流量;
2)将请求处理移到服务器端,所有处理到在服务器本地进行;
3)允许在服务器端定义和执行业务规则;
4)提供更好的交易控制;
5)提供更好的应用安全性。