oracle怎么写存储过程

oracle怎么写存储过程,第1张

给你示例你参考下:
----------------------------建立存储过程
CREATE OR REPLACE PROCEDURE P_name--存储过程名字
(
i_var in int, --输入参数1
o_var OUT varchar2 --输出参数1
)
IS
v_STR VARCHAR2(200); --定义存储过程内部的局部变量
BEGIN
--下面是存储过程的主体实现部分
v_STR := i_var;
dbms_outputput_line(v_STR);
o_var := v_STR;
exception--错误异常处理部分
when others then
dbms_outputput_line(sqlerrm);--打印错误信息
END P_name;
-----------------------------------调用存储过程示例:
declare
v_in int;
v_out varchar2(50);
begin
v_in :=100;
P_name (v_in,v_out); --调用存储过程P_name
dbms_outputput_line('存储过程输入结果为:'||v_out);
exception--错误异常处理部分
when others then
dbms_outputput_line(sqlerrm);--打印错误信息
end;

展开数据库-可编程性 找到存储过程,右键新建存储过程
或者选择已有的存储过程右键编写存储过程脚本为选择创建或修改 然后新建到查询窗口
然后存储过程有几步
声明存储过程名字,然后声明参数 (可能有参数也可能无参数)用括号引起来
变量声明 declare @变量名 变量类型
set @变量名=值
增删改查之类的 *** 作
可能还涉及到临时表之类的 *** 作
存储过程其实就是类似函数,给定参数或没有参数后执行多条语句的过程

定义方式:
变量名 类型(长度);

普通变量类型的赋值方式有两种:
1、通过 := 直接赋值;
2、通过 select (表中变量名) into (定义的普通变量) from where 赋值;
使用方法如下:

定义方式
变量名 表名列名%type;
使用方法如下:

定义方式
对象名 表名%rowtype
使用方法如下:

定义
用于临时存储一个查询返回的多行数据,通过遍历的方式可以逐行访问处理该结果集的数据;
游标属性

你好几个错误

创建时,变量类型不应该用等号

user是关键字,应该中括号括起来

你@id是整型,你后边为什么要用引号啊,这样就变字符了

你执行的时候存储过程名不对呀,名字叫test_1,你调用的test_

综上所述

create procedure test_1
@id int
as
select [user] from dbo[user] where id=@id

执行时

exec test_1 2003

SQL Server存储过程是SQL数据库的重要组成部分,其中可以用到许多参数。在SQL Server存储过程中,支持输入(Input)、输出参数(Output),也支持返回值参数(ReturnValue)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13356711.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存