这样的插入sql语句
insert into TB_SELF_CUSTOMER(N_BRANCH_ID,v_username)values('select CUST_ID from TB_CUST_INFO where CUST_NO=?','123'); 第一个引号的地方我想通过一个可变的值查询
select CUST_ID from TB_CUST_INFO where CUST_NO='?' 这样的,但是values里面的值也是要单引号的,那位可以告诉我,应该怎么写。
insert into TB_SELF_CUSTOMER(N_BRANCH_ID,v_username)values('select CUST_ID from TB_CUST_INFO where CUST_NO=?','123'); 第一个引号的地方我想通过一个可变的值查询
select CUST_ID from TB_CUST_INFO where CUST_NO='?' 这样的,但是values里面的值也是要单引号的,那位可以告诉我,应该怎么写。
SQL> select 'select * from dual where ''1''=''1''' from dual;
'SELECT*FROMDUALWHERE''1''=''1
--------------------------------
select * from dual where '1'='1'
declare
yourval varchar2(20):='yourvalue';
begin
insert into TB_SELF_CUSTOMER(N_BRANCH_ID,v_username)
select CUST_ID,'123' from TB_CUST_INFO where CUST_NO=yourval;
end;
/
CREATE TABLE X1(ID VARCHAR2(20),SNAME VARCHAR2(20));
CREATE TABLE X2(ID VARCHAR2(20),SNAME VARCHAR2(20));
INSERT INTO X1 VALUES('0001','S0001');
INSERT INTO X1 VALUES('0002','S0002');
INSERT INTO X1 VALUES('0003','S0003');
INSERT INTO X1 VALUES('0004','S0004');
INSERT INTO X1 VALUES('0005','S0005');DECLARE
v_id VARCHAR2(20):='0001';
BEGIN
INSERT INTO X2 VALUES((SELECT id FROM X1 WHERE id=v_id),'123');
END;SELECT * FROM X2;
ID SNAME
0001 123
TB_SELF_CUSTOMER(N_BRANCH_ID,v_username)
values
((select CUST_ID from TB_CUST_INFO where CUST_NO=?),'123')