oracle变量赋值及打印

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle变量赋值及打印相关的知识,希望对你有一定的参考价值。

declare zxzbx varchar;
declare zxsjzbx varchar;

select ZXZJ_ZBX into zxzbx from ops_t_xmcfb;
dbms_output.put_line(zxzbx);
这样那里有问题

oracle变量赋值及打印需要用存储过程实现。

如:

declare
v_begintime varchar2(20);
v_endtime varchar2(20);
v_str varchar2(10);
begin
  v_begintime:=to_char(sysdate,\'yyyy-mm-dd hh24:mi:ss\');
  select \'badkano\' into v_str from dual;--为v_str变量赋值
  v_endtime:=to_char(sysdate,\'yyyy-mm-dd hh24:mi:ss\');
  dbms_output.put_line(v_str||\'执行存储过程开始时间为:\'||v_begintime);--打印
  dbms_output.put_line(v_str||\'执行存储过程结束时间为:\'||v_endtime);--打印
end;

执行结果:

参考技术A 引用数组,格式为 B(n,m),其中n代表行,m代表列
如果行全部引用,则用”:“代表
上式b(:,1:7),代表引用1-7列数据
参考技术B declare zxzbx varchar(100);
begin    
  select ZXZJ_ZBX into zxzbx from ops_t_xmcfb;
  dbms_output.put_line(zxzbx);
end;

参考技术C declare
zxzbx ops_t_xmcfb.zxzj_zbx%type;
begin
select zxjz_zbx into zxzbx from ops_t_xmcfb;
dbms_output.put_line(zxzbx);
end;

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这种类型的变量

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

参考技术A 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;
参考技术B declare
vr_name varchar2(20);
begin
vr_name :='aaaaa';
end;
参考技术C 我知道的有两种,一种是直接赋值:varx := 5;,另一种是select …into…的方式:select a into x from t;

以上是关于oracle变量赋值及打印的主要内容,如果未能解决你的问题,请参考以下文章

oracle存储过程中如何对一个变量累加赋值 最好有个例子

竞赛(变量定义赋值及转换)

1.2编程基础之变量定义赋值及转换

大家帮忙看看Oracle存储过程怎样给变量赋值

oracle存储过程中声明变量并赋值的问题

oracle 存储过程赋值的方法