복붙노트

[SQL] 당신은 어떻게 Oracle 데이터베이스에 임시 테이블을 만들려면 어떻게해야합니까?

SQL

당신은 어떻게 Oracle 데이터베이스에 임시 테이블을 만들려면 어떻게해야합니까?

나는 Oracle 데이터베이스에 임시 테이블을 만들고 싶습니다

같은

Declare table @table (int id)

SQL 서버에서

그리고 select 문 채 웁니다

그것은 수 있습니까?

감사

해결법

  1. ==============================

    1.그래, 오라클은 임시 테이블을 가지고있다. 다음은이를 설명하는 AskTom 기사에 대한 링크는 여기에 공식 오라클은 표 문서를 만들 수 있습니다.

    그래, 오라클은 임시 테이블을 가지고있다. 다음은이를 설명하는 AskTom 기사에 대한 링크는 여기에 공식 오라클은 표 문서를 만들 수 있습니다.

    그러나 오라클에서 임시 테이블의 데이터 만 일시적입니다. 표는 다른 세션 볼 정기적 개체입니다. 자주 만들고 오라클에서 임시 테이블을 삭제하는 것은 좋은 방법입니다.

    CREATE GLOBAL TEMPORARY TABLE today_sales(order_id NUMBER)
    ON COMMIT PRESERVE ROWS;
    

    오라클 18C는 단일 세션에서 메모리 개체 개인 임시 테이블을 추가했다. 자세한 내용은 설명서를 참조하십시오. 개인 임시 테이블은 동적으로 생성 및 삭제 될 수 있습니다.

    CREATE PRIVATE TEMPORARY TABLE ora$ptt_today_sales AS
    SELECT * FROM orders WHERE order_date = SYSDATE;
    

    임시 테이블은 유용 할 수 있지만 일반적으로 오라클에서 학대 있습니다. 그들은 종종 인라인 뷰를 사용하여 단일 SQL 문에 여러 단계를 결합하여 방지 할 수 있습니다.

  2. ==============================

    2.그냥 끝은 ... 오라클에서 임시 테이블은 SQL Server에 다릅니다. 당신은 한 번만하지 모든 세션을 만들 수 있습니다. 당신이 그것을 삽입 행은 만 세션에 볼 수 있습니다, 자동으로 (즉, TRUNCATE,하지 DROP) 당신에게 세션 종료 (에 따라, 트랜잭션 또는 끝이 절 사용 "ON COMMIT") 삭제됩니다.

    그냥 끝은 ... 오라클에서 임시 테이블은 SQL Server에 다릅니다. 당신은 한 번만하지 모든 세션을 만들 수 있습니다. 당신이 그것을 삽입 행은 만 세션에 볼 수 있습니다, 자동으로 (즉, TRUNCATE,하지 DROP) 당신에게 세션 종료 (에 따라, 트랜잭션 또는 끝이 절 사용 "ON COMMIT") 삭제됩니다.

  3. ==============================

    3.

    CREATE GLOBAL TEMPORARY TABLE Table_name
        (startdate DATE,
         enddate DATE,
         class CHAR(20))
      ON COMMIT DELETE ROWS;
    
  4. ==============================

    4.AS 표 table_temp_list_objects을 CREATE

    AS 표 table_temp_list_objects을 CREATE

    SELECT o.owner, sys.all_objects 오 WHERE o.object_type = 'TABLE'FROM o.object_name;

  5. from https://stackoverflow.com/questions/2671518/how-do-you-create-a-temporary-table-in-an-oracle-database by cc-by-sa and MIT license