0

假表

row_id   information_date
1        10-oct-1987
2        NULL

tbl_error

row_id 列名
2 信息_日期
create or replace procedure test(column_name in varchar2)
as
begin
    insert into tbl_error 
    values(select row_id , column_name from dummy where column_name IS 
NULL);

end;
end test;

--调用

call test('information_date');

输出

tbl_error
row_id     column_name
2          NULL

我想将 'information_date' 记录到 tbl_error 中,但是在执行时它会存储 NULL,因为它从虚拟如何插入字符串中获取值。

期望的输出

ROW_ID  COLUMN_NAME
2       INFORMATION_DATE
4

1 回答 1

0

解决方案是

insert into tbl_error 
    values(select row_id , chr(39) || column_name || chr(39) from dummy where column_name IS NULL);
于 2012-06-14T10:20:13.787 回答