过程与函数

系统 1763 0
存储过程: 
语法:CREATE [OR REPLACE] PROCEDURE procedure_name(arg1 [in、out、in out] datatype1,..) IS [AS] PL/SQL block;
语法解析:in(输入参数):当没有参数模式时,系统默认为in,在过程中不能对其赋值。
out(输出参数):过程中需对其赋值,类似于函数中的返回值,在外部调用时可以接受到,并且可以声明多个输出参数。
in out(输入输出参数):是以上两个参数模式的结合,既可以赋值,又可以输出。
参数传递:
一:位置传递:传入的值必须和过程的参数列表的类型、顺序一致。
二:名称传递:在调用过程的时候,可以将过程的使用(参数名=>值)来对指定的参数传值。
三:组合传递:结合以上两种传递:既可以对应位置,有可以使用参数名传值。


参数:
语法:CREATE [OR REPLACE] FUNCTION function_name RETURN DATATYPE IS 参数定义区 BEIGN 函数体 END;
与过程相比:函数必须要返回类型。其他与过程相似。
函数调用限制:
函数可以在以下部分调用:SELECT 命令的选择列表;
      WHERE和HAVING子句中;
                      CONNECT BY,START WITH,ORDER BY 以及GROUP BY子句中;
                      INSERT 命令的VALUES子句中;
                      UPDATE命令的SET子句中;
函数的在以下的情况限制调用:在SQL语句中只能调用存储过程(服务器端),而不能调用客户端的函数;
                          在SQL语句中调用的函数只能带有输入参数(IN),而不能带有输出参数(OUT)和输入输出参数(IN OUT);
                  在SQL语句中调用的函数只能使用SQL所支持的标准数据类型,而不能使用PL/SQL的特有数据类型(例如:TABLE和RECORD等);
                          在SQL语句中调用的函数不能包含INSERT,UPDATE和DELETE语句;


过程与函数


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论