#参数
在编程语言中,参数用于从外部向一个程序块传递值或变量,YashanDB PL中的参数被应用于如下程序块:
- 存储过程/函数,包括独立的存储过程/函数,或被定义在高级包、UDT等PL对象里的存储过程/函数。
创建或重建存储过程/函数时,参数中有错误依然会创建或重建该对象,但在后续调用中会返回错误。
存储过程/函数不一定需要参数,使用参数则可以在调用存储过程/函数时,对其运行内容进行控制以达到特定的目的。
此类情况使用参数需要在定义存储过程/函数时进行参数声明(形参),并在调用存储过程/函数时进行值或变量传递(实参)。
- 在EXECUTE Statement或OPEN Statement中运行的动态SQL。
动态SQL是在运行时才进行构造的SQL语句,使用参数可以让构造的SQL语句模板化,简化PL编程,且可以让优化器按SQL语句模板(结合变量窥视)生成执行计划,避免对每次运行硬解析,极大地提高SQL执行性能。
此类情况使用参数需要在SQL语句中使用占位符进行参数绑定(相当于存储过程/函数中的形参),并通过USING语法进行值或变量传递(相当于存储过程/函数中的实参)。
- 显示游标。
定义显示游标时,可以进行参数声明(形参),并在OPEN Statement中使用显示游标时,进行值或变量传递(实参)。