Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 动态sql with pivot子句中出错_Oracle_Plsql_Sys Refcursor - Fatal编程技术网

Oracle 动态sql with pivot子句中出错

Oracle 动态sql with pivot子句中出错,oracle,plsql,sys-refcursor,Oracle,Plsql,Sys Refcursor,我无法找出此plsql块的问题: 1 declare 2 l sys_refcursor; 3 v varchar2(2000); 4 begin 5 v := q'[ 6 select * from ( 7 select etudiant2.nom, etudiant2.prenom, forme ||''||session_e formesession, note 8 from etudiant2 9 ) 10 pivot 11 (sum(null) for f

我无法找出此plsql块的问题:

1  declare
2  l sys_refcursor;
3  v varchar2(2000);
4  begin
5  v :=  q'[
6  select * from (
7  select  etudiant2.nom,  etudiant2.prenom,  forme ||''||session_e formesession, note
8  from etudiant2
9  )
10  pivot
11  (sum(null) for formesession in ('TP01', 'TP02', 'TP03', 'TD01', 'TD02'))]';
12  execute immediate v into l;
13* end;
SQL> /
declare
*
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected - got -
ORA-06512: at line 12

这里有什么问题,我尝试了很多东西。。。也许“PIVOT”不适用于动态sql?

我认为PIVOT子句与您所遇到的错误无关。要使用包含SELECT语句的字符串打开SYS_REFCURSOR,我认为您需要使用

OPEN L FOR V;
而不是

execute immediate v into l;
分享和享受