本人初学Oracle。有问题请教各位大大
1.如何使用C#想批量执行语句 如update sysuser set name='A' where name='B';Select * from Sysuer
注意有结果集返回
  
2.如何在存储过程中在执行update,insert 语句后 新建个临时表 返回特定的结果集??
最好写个简单的例子 感谢各位大大了!

解决方案 »

  1.   

    update语句也是可以返回数据的SQL> select * from student;
     
             ID NAME                 SEX AGE DEPTNO
    ----------- -------------------- --- --- ------
     2009010101 张三                 男   20      1
     2009010102 李四                 男   23      2
     2009010108 王五                 男   23      1
     2009010109 程灵                 女   22      2
     2009010107 王路                 女   20      3
     2009010103 金佰                 男   23      3
     2009010105 卢婷                 女   21      1
     2009010104 秦琴                 女   22      3
     2009010106 陆涛                 男   24      2
     
    9 rows selected
     
    SQL> 
    SQL> declare
      2  v_name student.name%type;
      3  v_sex student.sex%type;
      4  begin
      5  update student set age=24 where id=2009010106 return name,sex into v_name,v_sex;
      6  dbms_output.put_line('姓名:'||v_name||' 性别:'||v_sex);
      7  end;
      8  /
     
    姓名:陆涛 性别:男
     
    PL/SQL procedure successfully completed
      

  2.   


    谢谢
    但是要返回的是所有的数据。。Select * from Sysuer 
      

  3.   

    跟oracle八字不合。
    begin
    end;里面不能出现select*from sysuser 这种返回结果集的语句。。
      

  4.   


    在PL/SQL里写select语句有什么用的,显示不出来
      

  5.   

    update student set age=24 where id=2009010106 return name,sex into v_name,v_sex;
     oracle 太牛了,不过这应该不是TSQL的标准写法
      

  6.   


    谁能写个简单的存储过程
    里面包含
    1.update,insert 语句
    2.创建临时表
    3.往临时表插入记录
    4.使用游标返回结果
      

  7.   

    create or replace procedure  tempProc(p_fullname SysUser.FULLNAME%TYPE,p_LoginName SysUser.LOGINNAME%Type)
     as
     
     begin
     
     update SysUser set FullName=p_FULLNAME where Loginame=p_loginame ;
     
     
     commit;
     end tempProc;
    这样有错吗。
    生成后 procedure 有红叉叉