PLSQL中的过程和函数之间有什么区别?
我正在尝试使用PLSQL向表中插入一行。表名为文档\发布\历史记录。我正在使用一个API过程名过程PLSQL中的过程和函数之间有什么区别?,plsql,plsqldeveloper,Plsql,Plsqldeveloper,我正在尝试使用PLSQL向表中插入一行。表名为文档\发布\历史记录。我正在使用一个API过程名过程 Insert_New_Line_ ( doc_class_ IN VARCHAR2, doc_no_ IN VARCHAR2, doc_sheet_ IN VARCHAR2, doc_rev_ IN VARCHAR2, info_category_db_ IN VARCHAR2, note_ IN VARCHAR2 ); 我很困惑程序是否能像函数一样返回值。
Insert_New_Line_ (
doc_class_ IN VARCHAR2,
doc_no_ IN VARCHAR2,
doc_sheet_ IN VARCHAR2,
doc_rev_ IN VARCHAR2,
info_category_db_ IN VARCHAR2,
note_ IN VARCHAR2 );
我很困惑程序是否能像函数一样返回值。
我正在这样做:
DECLARE
doc_class_ varchar2(4000) := 'CVS FILE';
doc_no_ varchar2(4000) := '01004901.DWG-DWF';
doc_sheet_ varchar2(20) := 1;
doc_rev_ varchar2(20) := -1;
info_category_db_ VARCHAR2(20) := NULL;
note_ VARCHAR2(4000) := 'TEXTING TO UPDATE or FIeld to update';
BEGIN
Document_Issue_History_API.Insert_New_Line__ (doc_class_ ,doc_no_,doc_sheet_,doc_rev_ ,info_category_db_,note_);
end;
如何在表中插入行?函数具有返回值,因此可能出现在表达式可能使用的任何位置(例如赋值运算符的右侧,或作为SQL语句中的列表达式),而过程没有返回值,也不能用作表达式 这并不是说过程不能返回值,因为只要它们是OUT或IN/OUT参数,它们就可以返回值。只是不能在表达式中直接使用该过程
类似地,由于函数确实有返回值(指定为OUT或IN/OUT参数的参数除外),它们必须在表达式中使用,不能直接调用。如何使用PLSQL添加记录行而不使用INSERT?那么,如何在包内创建一个函数,以便能够向表中插入一行?有可能吗?关于您的第一条评论,如果最终在某个地方没有insert语句,您最终无法插入到表中。重新注释2)要在包中创建函数,只需声明它
函数(输入数据类型,…)返回SomeDataType作为[local declarations]BEGIN END[YourFunctionName]代码>可能重复的