oracle 不能是用變數來作為列名和表名 ,但使用動態sql可以;

來源:互聯網
上載者:User

標籤:create   表名   put   rac   log   tab   out   varchar   number   

ORACLE 不能使用變數來作為列名 和表名 一下是個人的一些驗證:

 1 DECLARE 2 ename1 emp.ename%TYPE ; 3 TYPE index_emp_type IS TABLE OF VARCHAR2(100) INDEX BY PLS_INTEGER ; 4 index_emp index_emp_type ; 5 BEGIN  6     index_emp(1) := ‘e.ename‘; 7 SELECT index_emp(1) INTO ename1 FROM emp e WHERE e.empno=7369; 8 EXECUTE IMMEDIATE ‘select ‘ || index_emp(1) || ‘ from emp e where e.empno=7369‘ into ename1  ; 9 dbms_output.put_line(index_emp(1));10 dbms_output.put_line(ename1);11 END; 12 13 14 DECLARE 15 x VARCHAR2(100) := ‘ename‘;16 y VARCHAR2(100) ;17 BEGIN 18     SELECT x INTO y FROM emp WHERE empno=7369; 19     dbms_output.put_Line(y);20 END; 21 22 23 DECLARE 24 x VARCHAR2(100) := ‘ename‘;25 y VARCHAR2(100) ;26 BEGIN 27 EXECUTE IMMEDIATE ‘select ‘ || x || ‘ from emp where empno=7369‘ into y  ;28 dbms_output.put_line(y);    29 END;30 31 32 33 SELECT CHR(&1+67) FROM dual ;34 35 SELECT &1 FROM emp ;36 37 38 CREATE TABLE  test_coloumn (39 A  NUMBER ,40 B NUMBER ,41 C  NUMBER ,42 D NUMBER ,43 E NUMBER ,44 F NUMBER 45 ); 46 47 TRUNCATE TABLE test_coloumn ;48 SELECT * FROM test_coloumn ;49 SELECT CHR(1+67)  FROM test_coloumn WHERE a=1 ;50 SELECT D  FROM test_coloumn WHERE a=1 51 52 DECLARE 53 X NUMBER ;54 BEGIN 55 --    SELECT CHR(1+67) INTO X FROM test_coloumn WHERE a=1 ;56 --    DBMS_OUTPUT.put_line(X);57     dbms_output.put_line(CHR(1+67));58 END;

 

oracle 不能是用變數來作為列名和表名 ,但使用動態sql可以;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.