Oracle和SQL SERVER的多字段赋值
Oracle和SQL SERVER的多字段赋值
- create table tablea(id int,ip varchar(15),apps varchar(10))
- insert into tablea select 23,'127.0.0.1','aaa'
- go
- declare @Variable1 varchar(15),@Variable2 varchar(10)
- select @Variable1 = ip ,@Variable2 = apps from tablea where id = 23
- select @Variable1,@Variable2
- /*
- --------------- ----------
- 127.0.0.1 aaa
- (1 行受影响)
- */
- go
- drop table tablea
但在Oracle的PLSQL下 select into 只能赋值单个变量,不能进行多变量同时赋值。
如 : select count(*) into nb_count from t_khz where fzbh=V_fzbh;
多变量赋值一般采取游标FETCH的方式:
- cursor c_rw is
- select * from t_kh
- r_rw c_rw%rowtype;
- open c_rw;
- loop
- fetch c_rw into r_rw;
- exit when c_rw%notfound;
- dbms_output.put_line(r_rw.khbh||' '||r_rw.khxm||' '||r_rw.yzbm);
- end loop;
- close c_rw;
- -- Local variables here
- i integer;
- v_kh t_kh%rowtype;
- gin
- -- Test statements here
- select * into v_kh from t_kh where rownum=1;
- dbms_output.put_line(v_kh.khbh||' '||v_kh.khxm||' '||v_kh.yzbm);
- d;
更多Oracle相关信息见Oracle 专题页面 http://www.bkjia.com/topicnews.aspx?tid=12
评论暂时关闭