我对 plsql 中的动态变量有点陌生。我在 EXECUTE IMMEDIATE 语句上收到错误“无效的主机/绑定变量名称”。提前致谢。
CREATE OR REPLACE PROCEDURE MY_CLASS_CONFIG_DML (pBuCode VARCHAR2,
pMyPKId VARCHAR2,
pMyName VARCHAR2,
pMyId VARCHAR2,
pRemarks VARCHAR2,
pUserId VARCHAR2)
AS
v_table VARCHAR2 (50);
v_lastdate DATE;
--bindable var.
v_pkey VARCHAR2 (12) := pMyPKId;
v_myname VARCHAR2 (30) := pMyName;
v_bucode VARCHAR2 (4) := pBuCode;
v_myid VARCHAR2 (12) := pMyId;
v_remarks VARCHAR2 (50) := pRemarks;
v_lastid VARCHAR2 (8) := pUserId;
BEGIN
v_lastdate := SYSDATE;
v_table := v_bucode || '_WORKSHEET_CONFIG';
--Error happens on this part
EXECUTE IMMEDIATE
'insert into '
|| v_table
|| '(pk_id,my_name,my_id,remarks,last_user,last_date)
values(:pkey,:myname,:myid,:remarks,:user,:lastdate)'
USING v_pkey,
v_myname,
v_myid,
v_remarks,
v_lastid,
v_lastdate;
--end comment
COMMIT;
RETURN;
EXCEPTION
WHEN OTHERS
THEN
ROLLBACK;
END MY_CLASS_CONFIG_DML;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3895 次 |
| 最近记录: |