我的代码是这样的
insert into table (A,B,C,D) values
('abb','select appCode,pkid from table where party_id='||party_id,sysdate,user);
party_id
这里是varchar,它在存储过程中作为IN子句出现,所以如果partyid在存储过程中变为123
然后我想看到数据库中的值为
从表中选择appCode,pkid,其中party_id ='123'
但那并没有发生,而是如此 从表中选择appCode,pkid,其中party_id = 123
sugestions please。
答案 0 :(得分:1)
试试这个
insert into table (A,B,C,D) values
('abb'
,'select appCode,pkid from table where party_id=''' || party_id || ''''
,sysdate
,user);
答案 1 :(得分:0)
尝试以下方法
CREATE TABLE tab1
(
t1 VARCHAR2 (100),
t2 VARCHAR2 (100),
d1 DATE,
t3 VARCHAR2 (100)
);
CREATE OR REPLACE PROCEDURE test_proc (param user_objects.object_type%TYPE)
IS
BEGIN
INSERT INTO tab1 (t1,t2,d1,t3) values
('abc','SELECT object_id
FROM user_objects
WHERE object_type = '''||param||'''',SYSDATE,'scott');
END;
并执行程序
EXEC test_proc('TABLE')