oracle 存储过程赋值的方法

我想知道oracle的存储过程的变量,有几种赋值方式,分别是哪几种!
随便定义一个变量,简单写下方法就行!

标量赋值:
格式:名字 类型 := 赋值内容
例子:aa varchar(5):= 'ss';

总共我知道的有4中:1.标量,2.显示变量,3声明记录,4索引表追问

那除了标量,其他的3个你举个例子吧,不用复杂,举例就行!

追答

显示标量(表t,字段a,定义cc变量):cc t.a%type;
声明记录(类型:bb,定义cc变量):
TYPE bb IS RECORD (cc number(10), uu varchar(5));--先声明类型
cc bb;--在定义bb这种类型的变量
索引表(类型:bb,定义cc变量)
TYPE bb IS table OF (cc t.a%type, uu t.b%type) INDEX BY BINARY_INTEGER;--先声明类型

cc bb;--在定义bb这种类型的变量

上述答案为有操作,请自行试验,如有错误,请原谅!

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-01
1.
CREATE OR REPLACE PROCEDURE test(var1 IN number,var2 out number) is
begin
var2 := var1;
end test;

2.
CREATE OR REPLACE PROCEDURE test(var1 IN number) is
var2 number :=var1;
begin
end test;

3.
CREATE OR REPLACE PROCEDURE test(var1 IN number) is
var2 number;
begin
var2 := var1;
END test;

4.
CREATE OR REPLACE PROCEDURE test(var1 IN number) is
var2 number;

CURSOR cur IS
select var1 from dual;

BEGIN
FOR rec in cur LOOP
var2 := rec.var1;
END LOOP;
END test;

5.
CREATE OR REPLACE PROCEDURE test(var1 IN number) is
var2 number;

BEGIN
select var1 into var2 from dual;
END test;

6.
CREATE OR REPLACE PROCEDURE test(var1 IN number) is
var2 number;

FUNCTION get_var(var_1 IN NUMBER) RETURN NUMBER IS
var_2 := NUMBER;
BEGIN
SELECT var_1 INTO var_2 FROM dual;
RETURN var_2;
END get_var;

BEGIN
var2 := get_var(var1);
END test;
第2个回答  2011-03-31
declare
vr_name varchar2(20);
begin
vr_name :='aaaaa';
end;
第3个回答  2011-04-01
我知道的有两种,一种是直接赋值:varx := 5;,另一种是select …into…的方式:select a into x from t;

oracle存储过程中如何对一个变量累加赋值 最好有个例子
1、首先打开oracle数据库,如下图所示。2、在Oracle中,对于函数的变量赋值,通常有三种方法来进行处理,直接赋值的方法,可以在声明变量的时候直接给变量进行赋值。3、其次,可以使用SELECT语句对变量进行赋值,主要是SELECT INTO语句,如下代码示例,将变量v_minvar赋予Min(t.sal)的值。4、最后就是动态...

oracle 存储过程中怎么给时间变量赋值
利用to_date函数,或者是sysdate系统值。

Oracle存储过程中,查询结果有多行如何赋值
首先你是想要赋值给什么?是一个变量还是record。你要根据实际的情况出发,赋值给一个变量的时候你要考虑最大,最小,最新和最老的数据,看你这么取舍了。结果集的情况你可以用cursor或者array也可以。

oracle 存储过程 循环赋值
给你重要的一段,用到的是for循环。不懂好好研究一下。很有用的。FOR I IN (查询语句)LOOP 变量 := I.某个字段 END

oracle date 在存储过程中赋值
v_begintime和v_endtime都赋值为sysdate,相减自然为0 至于v_begintime的值变为了21-JAN-15,失去了秒,这是显示的格式问题。你可以用to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')来查看秒

oracle存储过程不能成功赋值问题问题
values('||v_red_seq||',' || red_spec_id || ',' || login_id || ',V_rcv_dt,' || red_type || ',' || shared_channel || ' ,null)'; dbms_output.put_line(v_red_

oracle存储过程带多个返回值sql语句赋值
25个。oracle存储过程带25个返回值sql语句赋值,是其系统规定的,是受系统影响的,Oracle是一个关系型数据库管理系统,其应用范围广泛,旨在满足群众的不同需求。

oracle 存储过程 ,执行拼接sql,给制定参数赋值
execute immediate v_sql into rep_Val;

ORACLE存储过程varchar2变量赋值问题。
可以open的查询语句,直接在查询语句中根据ORGCODE的值用case when构造查询的条件。例如:where (case when ORGCODE = 'SH' and PORGCODE in ('A', 'B', 'C') then 'Y' when ORGCODE = 'A' and PORGCODE in ('A') then 'Y' ... else 'N' end) = 'Y'...

oracle存储过程 游标和动态赋值问题
创建:create or replace procedure t_ts(ref_cur out sys_refcursor) AS BEGIN open ref_cur for SELECT leixing FROM diaobodan;end t_ts;调用:declare s_cur SYS_REFCURSOR;v_leixing varchar2(100);begin t_ts(s_cur);loop fetch s_cur into vv_name;exit when s_cur%notfound;db...

相似回答