1

我的代码是这样的

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出现那么我想查看数据库中的值作为select appCode,pkid from table where party_id='123'

但这并没有发生,而是选择 appCode, pkid from table where party_id=123

请提出建议。

4

2 回答 2

2

尝试这个

insert into table (A,B,C,D) values
('abb'
,'select appCode,pkid from table where party_id=''' || party_id || ''''
,sysdate
,user);
于 2013-09-26T05:20:20.513 回答
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')
于 2013-09-26T05:47:12.663 回答