用动态sql可以实现,是可以的。

解决方案 »

  1.   

    怎么用动态sql,能描述清楚些吗?
      

  2.   

    如果是一直连着的系统,可以创建同义词;
    如果用动态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;
    /
      

  3.   

    程序运行时让用户设置他该表的路径,程序自动把该路径加到sql语句中。