编写一个过程。要求有一个IN参数和一个OUT参数。IN参数用于接受传递过来的借书证条码,然后在表T_user(用户表中)检索有无该读者,如有则将该读者的名称赋给OUT参数。如没有则提示信息“没有找到该读者” .
写出全过程者给高分!
还有,各位高手?怎么在select语句中根据一个字段判断另外一个字段为空啊?
或者说是在pl/sql中或者是在select语句中判断一个字段为空 也可以!
(注意: 环境oracle9.i)
------解决方案--------------------
- SQL code
create or replace procedure get_user_name( v_UserCode in char, v_UserName out char) isbegin select DECODE (tu.username, 'NULL', '没有找到该读者', tu.username) into v_UserName from T_user tu where tu.usercode = v_UserCode;end get_user_name;
------解决方案--------------------
CREATE OR REPLACE PROCEDURE test
(in_code IN VARCHAR2,
out_code out varchar2
)
IS
BEGIN
select name into
out_code
from t_user
where code=in_code ;
EXCEPTION
WHEN NO_DATA_FOUND THEN
out_code:='没有找该读者';
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END test;
/
------解决方案--------------------
out 参数要事先定义个变量的再传进去的
其实你这用自定义函数就行了
- SQL code
CREATE OR REPLACE FUNCTIONtest (in_code VARCHAR2, ) RETURN varchar2IS out_code varchar2(100) ;BEGIN select name into out_code from t_user where code=in_code ; return out_code; EXCEPTION WHEN NO_DATA_FOUND THEN return '没有找该读者'; WHEN OTHERS THEN -- Consider logging the error and then re-raise RAISE; END test;