中傳遞字符值我有一個刪除程序,該程序以表名和某些值從該表中刪除記錄,因此我創建了一個執行immediate的過程,它正在形成刪除通過參數和刪除進行查詢。在程序中使用execute立即執行DML,並在參數
但是當過我傳遞的char值的參數是越來越錯誤:
invalid identifier
與該字符值了單引號形成查詢。請讓我知道如何在程序中傳遞char值以正確形成字符串。
下面是具體的步驟:
CREATE OR replace PROCEDURE Prd_delete(p_tbl_name IN VARCHAR2,
p_sys VARCHAR2,
p_b_id VARCHAR2,
p_c_date NUMBER)
IS
dlt_query VARCHAR2(200);
BEGIN
dlt_query := 'delete from '
||p_tbl_name
||' where system='
||p_sys
|| ' And batch_id='
||p_b_id
|| ' And cobdate='
||p_c_date;
--dbms_output.put_line(dlt_query);
EXECUTE IMMEDIATE dlt_query;
END;
/
下面是運行命令:
exec prd_delete ('TBL_HIST_DATA','M','N1',20141205);
下面是錯誤:
ORA-00904:"N1" invalid identifier.
如何正確地傳遞這種價值?請建議。
oracle數據庫我需要像這樣..和cobdate是一個數字數據類型的設計。我不能將其更改爲DATE數據類型。無論如何感謝Ans。@ lalit – sabya
@sabyasachikar,如果它解決了您的問題,請將其標記爲已回答。 –