WEB开发网
开发学院数据库MSSQL Server 分布式DBA:掌握SQL存储过程 阅读

分布式DBA:掌握SQL存储过程

 2008-09-01 09:58:34 来源:WEB开发网   
核心提示: NumResultSets 指示存储过程返回结果数据集并标识返回多少数据集,ProcedureBody 标识调用存储过程时要执行的单个 SQL 语句或者一个或多个复合 SQL 语句,分布式DBA:掌握SQL存储过程(3),注意:方括号([])中显示的参数或选项必填写;尖括号(<>

NumResultSets 指示存储过程返回结果数据集并标识返回多少数据集。

ProcedureBody 标识调用存储过程时要执行的单个 SQL 语句或者一个或多个复合 SQL 语句。

注意:方括号([])中显示的参数或选项必填写;尖括号(<>)中显示的参数/选项不是必填的。可以在 DB2 9 SQL Reference - 卷 2(参见参考资料,第 51 页)中找到 CREATE PROCEDURE 语句的完整语法。 子句用来标识编码在存储过程体中的 SQL 语句的类型。可用的值如下:

CONTAINS SQL。存储过程体包含既不读取数据也不修改数据的可执行 SQL 语句。

READS SQL DATA。存储过程体包含读取数据但不修改数据的可执行 SQL 语句。

MODIFIES SQL DATA。存储过程体包含既读取数据也修改数据的可执行 SQL 语句。

子句用来标识当传递相同(DETERMINISTIC)或不同(NOT DETERMINISTIC)的参数值时存储过程是否始终返回相同的结果。例如,对传递给它的任何值增加 15% 的存储过程将被视为 DETERMINISTIC,而使用 TIMESTAMP_ISO() 函数生成唯一 ID 的存储过程将被视为 NOT DETERMINISTIC。

最后, 子句指示存储过程即使在为一个或多个输入参数提供空值进行调用时仍然被调用。

清单 1 显示一个由简单的 SQL 存储过程构成的 CREATE PROCEDURE 语句,设计用来将温度从华氏温度转换成摄氏温度。

清单 1. 创建简单的 SQL 存储过程

   CREATEPROCEDUREconv_temp.f_to_c(INtemp_fREAL,OUTtemp_cREAL)
  DYNAMICRESULTSETS0
  CONTAINSSQL
  DETERMINISTIC
  LANGUAGESQL
  BEGIN
  DECLAREtemp_valueREAL;
  SETtemp_value=(temp_f-32);
  SETtemp_c=(5*temp_value)/9;
  END

上一页  1 2 3 4 5  下一页

Tags:分布式 DBA 掌握

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接