热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle和SQLSERVER的多字段赋值简析

[sql]createtabletablea(idint,ipvarchar(15),appsvarchar(10))insertintotableaselect23,'127.0.0.1','aaa'gowww.2cto.comdeclare@Varia

[sql] 
create table tablea(id int,ip varchar(15),apps varchar(10))  
insert into tablea select 23,'127.0.0.1','aaa'  
go    www.2cto.com  
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  
 
SQLSERVER的多字值赋值方式如上所示,直接SELECT就可以
 
但在ORACLE的PLSQL下 select into 只能赋值单个变量,不能进行多变量同时赋值。
 
 如 : select count(*) into nb_count from t_khz where fzbh=V_fzbh;
 
多变量赋值一般采取游标FETCH的方式:
 
[sql] 
cursor c_rw is  
  select * from t_kh  
    www.2cto.com  
  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;  
 
还有就一种方式就是用ROWTYPE
 
[sql] 
-- Local variables here  
i integer;  
       v_kh t_kh%rowtype;  
gin  
-- Test statements here  
  
    www.2cto.com  
     select * into v_kh from t_kh where rownum=1;  
     dbms_output.put_line(v_kh.khbh||'  '||v_kh.khxm||'  '||v_kh.yzbm);  
 
  
d;  
 
 
摘自 无为的专栏

推荐阅读
author-avatar
左手抽烟吹寂寞
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有