v_insertsql:='INSERT INTO MYRPT' || v_field || ' VALUES(' || v_insertfield || ')';
修改如下:若v_field 是字符型
v_insertsql:='INSERT INTO MYRPT' || v_field || ' VALUES(''' || v_insertfield || ''')';
修改如下:若v_field 是字符型
v_insertsql:='INSERT INTO MYRPT' || v_field || ' VALUES(''' || v_insertfield || ''')';
INSERT INTO MYRPT(C1,C2,C3,C4,C5,C6)
VALUES('P1','P2','P3','P4','P5','P6')
表是否存在?字段名称是否有误?字段类型是否都是字符型?
有没有其他字段,要求非空?
请看我上面给出的输出的SQL字符,已经组合了的,是没错的哦。
而我现在把他试改为
v_test:='select * from table1';
execute immediate v_test;运行也抱错哦:
ORA-00900: invalid SQL statement请问是怎么意思啊??
execute immediate v_test;
问题一:
用execute immediate执行查询要这样execute immediate v_test into 变量;
问题二:
execute immediate v_test into 变量;--返回多行与没有行都会报错.