oracle存储过程定义变量

caojiehong20110 2014-10-13 02:47:57
在做一个ORCLE的报表,比如一个表A,
姓名 学号
张三 1
李四 2
想定义学号变量,通过查询学号,查得对应的行,
比如我在输入框框输入1,就能查到张三这行

要用存储过程写,
因为是ORCLE,传递变量一定要存储过程,
...全文
5514 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffshao 2014-11-20
  • 打赏
  • 举报
回复
创建一个存储过程,name为输出参数
CREATE OR REPLACE PROCEDURE SP_XXX(T_ID IN NUMBER , T_NAME OUT VARCHAR2)
IS
BEGIN
SELECT NAME INTO T_NAME FROM STUDENTS WHERE ID=T_ID;
END;
调用存储过程,打印name

DECLARE 
ID STUDENTS.ID%TYPE:=1;
NAME STUDENTS.NAME%TYPE;--定义一个和students中name列类型相同的变量
BEGIN 
SP_XXX(ID,NAME);
DBMS_OUTPUT.put_line(NAME);--打印name信息
END;
函数就不在演示了。。。
ning_wnn2014 2014-11-11
  • 打赏
  • 举报
回复
CREATE OR REPLACE PROCEDURE SP_STU(IDNO IN NUMBER) AS STU_NAME VARCHAR2(32); BEGIN SELECT NAME INTO STU_NAME FROM STU WHERE NO=IDNO; DBMS_OUTPUT.put_line(STU_NAME); END; 使用存储过程,可将name值输出。 函数可以在调用的时候获得结果,如下: CREATE FUNCTION FN_STU(IDNO IN NUMBER)RETURN varchar2 AS STU_NAME VARCHAR2(32); BEGIN SELECT NAME INTO STU_NAME FROM STU WHERE NO=IDNO; RETURN(STU_NAME); END; select fn_stu(3) from dual;
bw555 2014-10-13
  • 打赏
  • 举报
回复
那个没用过,oracle有这样一种用法 %rowtype 和 %type,觉得你这个里面可能用得到, 你自己百度下吧
caojiehong20110 2014-10-13
  • 打赏
  • 举报
回复
引用 3 楼 bw555 的回复:
oracle reports builder? 这个工具从对象导航器可以直接创建参数的 如创建的参数P_A 在写查询语句时可以直接用:P_A访问参数的值
不是。微软那个report buider 2.0
bw555 2014-10-13
  • 打赏
  • 举报
回复
oracle reports builder? 这个工具从对象导航器可以直接创建参数的 如创建的参数P_A 在写查询语句时可以直接用:P_A访问参数的值
caojiehong20110 2014-10-13
  • 打赏
  • 举报
回复
引用 1 楼 bw555 的回复:
获取名字?
CREATE OR REPLACE FUNCTION GETName(p_id in number) RETURN varchar2 IS
	v_name varchar2(100);
BEGIN
	select max(name) INTO V_NAME from A where id=p_id;
	RETURN V_NAME;
END;
你好,由于以前是用SQL SEVER做报表的,以前的SQL只要直接定义一个@变量就可以,现在ORACLE里面这样写不行(ORACLE小白),不知道大神用过REPROT BUILDER没,我就是想知道在ORACLE传变量怎样传而已,谢谢
bw555 2014-10-13
  • 打赏
  • 举报
回复
获取名字?
CREATE OR REPLACE FUNCTION GETName(p_id in number) RETURN varchar2 IS
	v_name varchar2(100);
BEGIN
	select max(name) INTO V_NAME from A where id=p_id;
	RETURN V_NAME;
END;

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧