복붙노트

[SQL] 오라클 SQL 번역 마이크로 소프트 T-SQL

SQL

오라클 SQL 번역 마이크로 소프트 T-SQL

나는 몇 년 동안 T-SQL로 일했지만 난 그냥 내 발을 찾을 때까지 적어도 일부 오라클 물건을 쓰기 요구하는 아마 간단한 CRUD 작업을 진행하는 조직으로 이동했습니다. 나는 다른 단순히 응용 프로그램 개발의 관점에서 기존의 오라클 데이터베이스와 상호 작용하는 하나에서 데이터베이스를 마이그레이션하지 않을거야. 도구 또는 쉽게 오라클 SQL로 T-SQL을 번역 할 수 유틸리티가되어, 키워드 매퍼 내가 찾는 물건의 종류입니다.

추신 난 그냥 조금 빠른 속도로 나를 얻기 위해 무엇인가를 할 수 있도록 내 역할의 큰 부분이 될 것 아니에요 게다가 나는 RTFM에 너무 게으른 해요.

해결법

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

    1.언어의 차이는 지금까지 논리의 차이에 비해 사소한 그래서 나와. 누구나 NVL를 조회 할 수 있습니다. 무엇인가를 조회하기 어렵다

    언어의 차이는 지금까지 논리의 차이에 비해 사소한 그래서 나와. 누구나 NVL를 조회 할 수 있습니다. 무엇인가를 조회하기 어렵다

    DDL

    SQL 서버에서는 거의 또는 전혀 소란하여 어디서든 스키마, 언제를 조작 할 수 있습니다.

    당신이 농구를 통해 점프 그래서 오라클에서, 우리는 저장 프로 시저하지 DDL 좋아해요. 당신은 DDL 기능을 수행하기 위해 EXECUTE IMMEDIATE를 사용해야합니다.

    임시 테이블

    논리가 조금 힘든된다 IN SQL Server는 일반적인 것은 SQL 바로 가기하고 임시 테이블을 해결하고 다음 단계가 임시 테이블을 사용하여 수행하는 것입니다. MSSS는 매우 쉽게이 작업을 수행 할 수 있습니다.

    오라클에서 우리는하지 그렇게 할. 중간 결과를 강제함으로써 당신은 완전히 당신을위한 바로 가기를 찾는에서 최적화를 방지합니다. 당신이 중간 중지하고 중간 결과를 유지해야하는 경우하지만 오라클은하지 즉석에서 사전에 임시 테이블을 확인하고 싶어.

    잠금

    MSSS에서 당신은 당신이 잠금의 수를 줄이기 위해 잠금 에스컬레이션을 가지고, 당신은 DML에 적용 할 NOLOCK 힌트를 가지고, 잠금에 대해 우려하고있다.

    오라클에서 우리는 그런 식으로 이들에 대해 걱정하지 마십시오.

    커밋 된 읽기

    최근까지 MSSS 완전히 더러운 읽기에 대해 걱정 있도록 읽기 커밋 격리를 처리하지 않았다.

    오라클은 수십 년 동안 그런 식으로하고있다.

    기타

    MSSS 비트 맵 인덱스, IOT, 테이블 클러스터, 단일 테이블 해시 클러스터, 고유 제한 조건을 적용 비 고유 인덱스의 개념이 없습니다 ....

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

    2.나는 대부분의 대답은 T-SQL 및 PL / SQL 사이에 약간의 차이로 전체 데이터베이스 또는 단지 포인트를 마이그레이션에 초점 인상을 얻을. 나는 최근에 같은 문제가 있었다. 오라클 데이터베이스는 존재하지만 PL / SQL에 T-SQL 스크립트의 전체 부하를 변환해야합니다.

    나는 대부분의 대답은 T-SQL 및 PL / SQL 사이에 약간의 차이로 전체 데이터베이스 또는 단지 포인트를 마이그레이션에 초점 인상을 얻을. 나는 최근에 같은 문제가 있었다. 오라클 데이터베이스는 존재하지만 PL / SQL에 T-SQL 스크립트의 전체 부하를 변환해야합니다.

    나는 오라클 SQL Developer를 설치하고 번역 스크래치 편집기 (도구> 마이그레이션> 번역 스크래치 편집기)를 실행했습니다.

    그럼, 그냥 당신의 T-SQL을 입력 드롭 다운리스트에서 올바른 번역을 선택합니다 (그것은 'T-SQL을 PL / SQL'기본합니다), 및 변환합니다.

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

    3.내가 언급하는 것에있다.

    내가 언급하는 것에있다.

    내가 오라클 8 일 때 1), 당신은 "선택 @Result"를 할 수 없었다, 당신은 "이중에서 선택 @Result"를 다음과 같이 대신 더미 테이블을 사용했다. 그 우스꽝가 여전히 존재하는 경우 확실하지.

    2) 그들은 모든 시간 AFAICS을 사용, 오라클의 세계에서 그들은 사랑 커서를 것 그리고 당신은 더 나은 그들에 읽어.

    행운을 즐길 수,

    그것은 MS SQL에 서로 다른되지 않습니다. 다행히, 나는 더 이상 함께 작동하도록하지 않고 내가 다시 MS 도구의 따뜻한의 편안입니다.

  4. ==============================

    4.당신이 유착하여 ISNULL과 NVL 말도 안되는을 대체 할 경우, T-SQL 및 PL / SQL에서 작동합니다!

    당신이 유착하여 ISNULL과 NVL 말도 안되는을 대체 할 경우, T-SQL 및 PL / SQL에서 작동합니다!

  5. ==============================

    5.내가 자동으로 수행하는 도구가 의심 있도록 앞뒤로 그들을지도하는 사소한 아니다. 그러나이 링크는 당신을 도울 수 있습니다 http://vyaskn.tripod.com/oracle_sql_server_differences_equivalents.htm

    내가 자동으로 수행하는 도구가 의심 있도록 앞뒤로 그들을지도하는 사소한 아니다. 그러나이 링크는 당신을 도울 수 있습니다 http://vyaskn.tripod.com/oracle_sql_server_differences_equivalents.htm

  6. ==============================

    6.일반 T-SQL의 가장 중요한 차이점은 다음과 같습니다

    일반 T-SQL의 가장 중요한 차이점은 다음과 같습니다

    노트. 나는 조인이되지 않는 SQL 서버 * = 구문을 사용하지 않는 가정

    @jodonell : 당신이 연결 테이블은 구식 조금, 오라클 9i에가 CASE 및 ANSI는 외부 조인 같은 것들을 지원 후 다소 표준 준수가되었다입니다

  7. ==============================

    7.나는 오라클 마이그레이션에 대한 몇 가지 SQL 서버를 했어요. 백엔드 코드를 재 작성하지 않고 마이그레이션하는 방법은 없습니다. 2 개 데이터베이스 및 프로그래머의 두 마음 세트 사이 더 중요한 차이 사이에 너무 많은 차이. 많은 관리자들이 2 상호 교환 생각, 내가 관리자가 SQL 서버에서 저장 프로 시저를 복사 오라클에서 그들을 컴파일달라고 있었하지 실마리! Toad는 오라클 애플리케이션을 지원하기위한 시장에서 지금까지 가장 좋은 도구입니다. SQL 개발자는 확인하지만 두꺼비에 비해 실망했다. 나는 오라클 어느 날 두꺼비 자신의 제품을 따라 잡기를 희망하지만 아직 없다. 좋은 하루 되세요 :) 당신이 오라클로 마이그레이션하는 경우 기회는 이유이며, 당신이 다시 종료 코드를 다시 작성해야합니다 또는 당신이 많은 문제가있을 것이다 요구 사항을 충족하기 위해 수 있습니다.

    나는 오라클 마이그레이션에 대한 몇 가지 SQL 서버를 했어요. 백엔드 코드를 재 작성하지 않고 마이그레이션하는 방법은 없습니다. 2 개 데이터베이스 및 프로그래머의 두 마음 세트 사이 더 중요한 차이 사이에 너무 많은 차이. 많은 관리자들이 2 상호 교환 생각, 내가 관리자가 SQL 서버에서 저장 프로 시저를 복사 오라클에서 그들을 컴파일달라고 있었하지 실마리! Toad는 오라클 애플리케이션을 지원하기위한 시장에서 지금까지 가장 좋은 도구입니다. SQL 개발자는 확인하지만 두꺼비에 비해 실망했다. 나는 오라클 어느 날 두꺼비 자신의 제품을 따라 잡기를 희망하지만 아직 없다. 좋은 하루 되세요 :) 당신이 오라클로 마이그레이션하는 경우 기회는 이유이며, 당신이 다시 종료 코드를 다시 작성해야합니다 또는 당신이 많은 문제가있을 것이다 요구 사항을 충족하기 위해 수 있습니다.

  8. ==============================

    8.오라클 SQL 개발자에서 번역 스크래치 편집기라는 도구가있다. 당신은 도구>에서 마이그레이션을 찾을 수 있습니다.

    오라클 SQL 개발자에서 번역 스크래치 편집기라는 도구가있다. 당신은 도구>에서 마이그레이션을 찾을 수 있습니다.

    오라클 SQL Developer는 오라클에서 무료로 다운로드 할 수 있으며 그것은 쉽게 설치할 수 있습니다.

  9. ==============================

    9.오히려 두 가지 버전을 지원하는 것보다, 일회성 변환을 수행하는 경우 오라클 마이그레이션 워크 벤치 봐야한다. 이 도구는 (당신이 오라클과 작업하는 경우 당신이 정말로해야한다) 오라클 SQLDeveloper와 함께 작동합니다. 이 스키마, 데이터의 변환을 수행하고, PL / SQL에 대한 T-SQL의 일부. 모두 잘 알고, 나는 80 %의 작업에 대해 한 발견했다. 절차의 대량, 손 변환 나머지 "강하다"알 수없는 부분을 변환하는 동안 좋은만큼 그것을 가치를 확인합니다.

    오히려 두 가지 버전을 지원하는 것보다, 일회성 변환을 수행하는 경우 오라클 마이그레이션 워크 벤치 봐야한다. 이 도구는 (당신이 오라클과 작업하는 경우 당신이 정말로해야한다) 오라클 SQLDeveloper와 함께 작동합니다. 이 스키마, 데이터의 변환을 수행하고, PL / SQL에 대한 T-SQL의 일부. 모두 잘 알고, 나는 80 %의 작업에 대해 한 발견했다. 절차의 대량, 손 변환 나머지 "강하다"알 수없는 부분을 변환하는 동안 좋은만큼 그것을 가치를 확인합니다.

  10. ==============================

    10.아니 저렴 ($ 995)하지만이 도구가 잘 작동 : http://www.swissql.com/products/sql-translator/sql-converter.html

    아니 저렴 ($ 995)하지만이 도구가 잘 작동 : http://www.swissql.com/products/sql-translator/sql-converter.html

  11. ==============================

    11.몇 사람은 다시 앞으로 변환 여기에 언급했다. 나는 오라클 MSSQL로 변환하는 도구의 모르겠지만, MSSQL에 오라클 DB를 변환하기 위해 무료로 MS의 도구를 사용하고 나를 위해 일한 내가 호출 할 수있는 아무런 문제없이 많은 DB를 변환. 그것은 MS는 또한 무료로 제공하는 MSSQL 도구에 대한 액세스와 유사하다. 즐겨

    몇 사람은 다시 앞으로 변환 여기에 언급했다. 나는 오라클 MSSQL로 변환하는 도구의 모르겠지만, MSSQL에 오라클 DB를 변환하기 위해 무료로 MS의 도구를 사용하고 나를 위해 일한 내가 호출 할 수있는 아무런 문제없이 많은 DB를 변환. 그것은 MS는 또한 무료로 제공하는 MSSQL 도구에 대한 액세스와 유사하다. 즐겨

  12. ==============================

    12.jOOQ 여기 웹 사이트에서 액세스 할 수있는 공개, 무료 번역기를 가지고 : https://www.jooq.org/translate

    jOOQ 여기 웹 사이트에서 액세스 할 수있는 공개, 무료 번역기를 가지고 : https://www.jooq.org/translate

    그것은 DML, DDL, 그리고 몇 가지 절차 적 구문 요소를 지원합니다. 당신이 명령 줄을 통해 로컬 변환을 실행하려면, 라이센스를 구입하실 수 있습니다 다음과 같이 명령 줄 작동 :

    $ java -cp jooq-3.11.9.jar org.jooq.ParserCLI -t ORACLE -s "SELECT substring('abcde', 2, 3)"
    select substr('abcde', 2, 3) from dual;
    

    참조 : https://www.jooq.org/doc/latest/manual/sql-building/sql-parser/sql-parser-cli

    (면책 조항, 공급 업체에 대한 I 작업)

  13. from https://stackoverflow.com/questions/41781/microsoft-t-sql-to-oracle-sql-translation by cc-by-sa and MIT license