Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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中获取未知列_Oracle_Plsql - Fatal编程技术网

如何在oracle中获取未知列

如何在oracle中获取未知列,oracle,plsql,Oracle,Plsql,Oracle中是否有一个运算符可以获取结果集中某一行的某一列,而不必指定该列的名称。我想要像这样的东西: for row in (select * from table1) loop for col in row loop // do stuff with col end loop; end loop; 谢谢。此功能没有内置功能。为了使用动态SQL,您必须使用DBMS_SQL包:没有用于此的内置函数。您必须使用DBMS_SQL包才能使用动态SQL:在静态SQL中,否 如果

Oracle中是否有一个运算符可以获取结果集中某一行的某一列,而不必指定该列的名称。我想要像这样的东西:

for row in (select * from table1)
loop
  for col in row
  loop
     // do stuff with col
  end loop;
end loop;

谢谢。

此功能没有内置功能。为了使用动态SQL,您必须使用DBMS_SQL包:

没有用于此的内置函数。您必须使用DBMS_SQL包才能使用动态SQL:

在静态SQL中,否

如果您使用的是动态SQL(通过DBMS_SQL),那么您可以描述语句并迭代列。但是,如果查询本身不是动态的,那么如果您转向使用DBMS_SQL而不是简单地编码您感兴趣的列名,那么几乎肯定会增加代码的复杂性并降低可维护性。

在静态SQL中,不是

如果您使用的是动态SQL(通过DBMS_SQL),那么您可以描述语句并迭代列。但是,如果查询本身不是动态的,那么如果您打算使用DBMS_SQL而不是简单地编码您感兴趣的列名,那么几乎肯定会增加代码的复杂性并降低可维护性