用动态sql可以实现,是可以的。
解决方案 »
- 创建存储过程时有警告信息,请问如何看具体的信息
- 请教drop user pubr cascade 执行时间为什么特别长?
- oracle10G数据库频繁写入大量数据导致系统重启
- oracle的安装后使用的问题,
- 请教一个SQL语句
- 怎样计算用户数?
- 怎样把现有的一个表拆分成两个单独的表?
- 初学者的问题:ORACLE中包头已经正确创建了,但是包体老是报编译错误!
- 批处理文件如何执行这个.sql文件
- 不安装Oracle 客户端,可不可以 用 MS ODBC for Oracle 连接到远端的Oracle服务器?
- 个位大虾,我已经做好了execl到oracle的导入,可是我在oracle还是看不到数据,没有提示错误
- 为什么我建不了表。 一个关于权限的问题
如果用动态sql,也是可以解决的,见下面例子:
CREATE TYPE t_emp AS OBJECT (id NUMBER, name VARCHAR2(20));CREATE TYPE t_emplist AS TABLE OF t_emp;CREATE TABLE dept_new (id NUMBER, emps t_emplist)
NESTED TABLE emps STORE AS emp_table;INSERT INTO dept_new VALUES (
10,
t_emplist(
t_emp(1, 'SCOTT'),
t_emp(2, 'BRUCE')));DECLARE
deptid NUMBER;
ename VARCHAR2(20);
BEGIN
EXECUTE IMMEDIATE 'SELECT d.id, e.name
FROM dept_new d, TABLE(d.emps) e -- not allowed in static SQL
-- in PL/SQL
WHERE e.id = 1'
INTO deptid, ename;
END;
/