达梦使用动态游标参数的方法

create TABLE SYSDBA.TEST1 as  SELECT * from  dba_users;


create or replace procedure p_test (USERNAME2 in VARCHAR(10),USER_ID2 in INT,AUTHENTICATION_TYPE2 in VARCHAR(60))
is 
DECLARE
USERNAME1 VARCHAR(10);
USER_ID1 VARCHAR(10);
AUTHENTICATION_TYPE1 VARCHAR(60);
c1 CURSOR;
BEGIN
  PRINT USERNAME2;
  PRINT USER_ID2;
  PRINT AUTHENTICATION_TYPE2;
    OPEN C1 FOR 'SELECT USERNAME,USER_ID,LOCK_DATE FROM test1  WHERE TEST1.USERNAME=?  and TEST1.USER_ID=? and TEST1.AUTHENTICATION_TYPE=?' 
    USING USERNAME2,USER_ID2,AUTHENTICATION_TYPE2;
--    OPEN C1 FOR SELECT USERNAME,USER_ID,LOCK_DATE FROM test1  WHERE TEST1.USERNAME=USERNAME2  and TEST1.USERNAME='USER_ID2';
    LOOP
        FETCH c1 INTO USERNAME1, USER_ID1, AUTHENTICATION_TYPE1;
        insert into SYSDBA.TEST2  VALUES (USERNAME1,USER_ID1,AUTHENTICATION_TYPE1);
        PRINT '姓名:'||USERNAME1 || '工号:' || USER_ID1 || ' 薪水:' || AUTHENTICATION_TYPE1;
       EXIT WHEN c1%NOTFOUND; 
        PRINT '找不到对应的用户名';
        END LOOP;
    CLOSE c1;
END;
/
call p_test('SYSDBA',9,'NDCT_DB_AUTHENT');

select * from test2;

delete  from test2;

SELECT USERNAME,USER_ID,AUTHENTICATION_TYPE FROM test1  where user_id=9;
--
create  table  test2 as SELECT USERNAME,USER_ID,AUTHENTICATION_TYPE FROM test1 where 1=2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值