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