您的位置:首页 > 数据库 > Oracle

Oracle数据库中使用存储过程时对传入和传出参数的使用说明

2007-08-11 23:25 477 查看
1. 创建一个名称为BB的存储过程,根据传入的参数来获取一条记录.
CREATE PROCEDURE BB
@IDP INT
AS
SELECT * FROM chatroom_info WHERE ID = @IDP
GO

在查询分析器中可以这样使用:
exec bb @IDP = 37;
2. 创建一个名称为abc的存储过程。存储过程中的第一个参数 @ID 将接收由调用程序指定的输入值,而第二个参数@NAME 将向调用程序返回该值。SELECT 语句使用 @ID 参数以获得正确的 name 值,并将该值赋予 @Name 输出参数。

严重注意:当要获取得到输出参数的时候,如果查询数据写为: SELECT @Name = name FROM CHATROOM_INFO,则得到的返回值就是最后一条记录的该字段值

CREATE PROCEDURE abc
@ID INT,
@NAME VARCHAR(100) OUTPUT
AS
SELECT @Name = name FROM CHATROOM_INFO where ID = @ID
GO

在查询分析器中可以这样来调用该存储过程:
-- Declare the variable to receive the output value of the procedure

DECLARE @tempname varchar(100)
 -- Execute the procedure with a title_id value

-- and save the output value in a variable.
EXEC ABC @id = 42, @Name = @tempname output
(也可以这样: EXEC ABC 42, @Name = @tempname output)
PRINT convert(varchar(50),@tempname)

3. 例子
CREATE PROCEDURE BB
@IDP INT,
@IName varchar(20)
AS
SELECT * FROM chatroom_info WHERE ID = @IDP and Name = @IName
GO

在查询分析器中执行如下查询.
exec bb @IDP = '37',@Iname = '海阔天空'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: