임베디드 SQL
Embedded SQL임베디드 SQL은 프로그래밍 언어의 컴퓨팅 능력과 SQL의 데이터베이스 조작 능력을 결합하는 방법입니다.임베디드 SQL 문은 호스트 언어의 프로그램 소스 코드를 사용하여 인라인으로 작성된 SQL 문입니다.임베디드 SQL 문은 임베디드 SQL 프리프로세서에 의해 해석되며 코드 라이브러리에 대한 호스트 언어 호출로 대체됩니다.그 후, 프리프로세서로부터의 출력은 호스트 컴파일러에 의해서 컴파일 됩니다.이를 통해 프로그래머는 C/C++, COBOL 및 Fortran과 같은 임의의 언어로 작성된 프로그램에 SQL 문을 삽입할 수 있습니다.이는 PL/SQL 및 T-SQL과 같은 개별 프리프로세서를 거치지 않는 SQL에서 파생된 프로그래밍 언어와는 다릅니다.
SQL 표준 위원회는 임베디드 SQL 표준을 두 단계로 정의했습니다. 모듈 언어라는 형식주의를 정의한 다음 모듈 [1]언어에서 임베디드 SQL 표준을 도출했습니다.SQL 표준에서는 SQL을 임베디드 SQL로 정의하고 SQL 쿼리가 포함된 언어를 호스트 언어라고 합니다.인기 있는 호스트 언어는 C입니다.예를 들어 호스트 언어 C와 임베디드 SQL은 Oracle 및 Sybase 데이터베이스 관리 시스템에서는 Pro*C, Informix에서는 ESQL/C, Postgre에서는ECPG라고 불립니다.SQL 데이터베이스 관리 시스템.SQL은 PHP 등의 언어에도 포함될 수 있습니다.
임베디드 SQL을 지원하는 시스템
알티베이스
- C/C++
- APRE는 Altibase Corporation이 자사의 DBMS 서버용으로 제공하는 임베디드 SQL 프리 컴파일러입니다.
IBM DB2
Linux, UNIX 및 Windows용 IBM Db2는 FORTRAN 및 REXX에 대한 지원은 [2]폐지되었지만 C, C++, Java, COBOL, FORTRAN 및 REXX용 내장 SQL을 지원합니다.
IBM Informix
Linux, Unix 및 윈도우즈용 IBM Informix 버전 14.10은 C용 내장 SQL을 지원합니다. }
Microsoft SQL Server
Mimer SQL
Linux, macOS, OpenVMS 및 Windows용 Mimer SQL은 임베디드 [5]SQL을 지원합니다.
- C/C++
- C/C++용 임베디드 SQL은 Linux, macOS, OpenVMS 및 Windows에서 지원됩니다.
- 코볼
- COBOL용 임베디드 SQL은 OpenVMS에서 지원됩니다.
- 포트란
- 내장 SQL for Fortran은 OpenVMS에서 지원됩니다.
Oracle 데이터베이스
- 아다
- Pro*Ada는 버전 7.3에서 Oracle에 의해 공식적으로 지원 해제되었습니다.Oracle 8 이후 Pro*Ada는 SQL*Module로 대체되었지만 [6]이후 업데이트되지 않은 것으로 보입니다.SQL*Module은 임베디드 SQL과는 다른 프로그래밍 방법을 제공하는 모듈 언어입니다.SQL*Module은 Ada83 언어 표준을 지원합니다.
- C/C++
- Pro*C는 Oracle 8에서 Pro*C/C++가 되었습니다.Pro*C/C++는 현재 Oracle Database 11g에서 지원됩니다.
- 코볼
- Pro*COBOL은 현재 Oracle Database 11g에서 지원됩니다.
- 포트란
- Pro*FORTRAN은 Oracle 8에서 갱신되지 않았지만, 버그가 보고 [7]및 수정됨에 따라 Oracle은 패치 릴리스를 계속 발행합니다.
- PL/I
- Pro*PL/I는 Oracle8과 함께 출시되지 않았습니다.다만, Oracle 프리 컴파일러 가이드의 Pro*PL/I Supplement는 릴리스 11g까지 Oracle Documentation Library에 계속 게재되고 있습니다.Release 12c에서 Pro*PL/I는 Oracle Documentation [7]Library에서 삭제되었습니다.
포스트그레스Ql
- C/C++
- ECPG는 Postgre의 일부입니다.버전 6.3 이후의 SQL.
- 코볼
- Cobol-IT는 현재 Postgre용 COBOL 프리 컴파일러를 배포하고 있습니다.SQL[citation needed]
- Micro Focus는 Open을 통해 지원ESQL 프리프로세서[citation needed]
SAP Sybase
SAP Sybase ASE 15.7은 소프트웨어 개발자 키트 Sybase의 [8]일부로 C 및 COBOL용 임베디드 SQL을 지원합니다.
SAP Sybase SQL Anywhere는 SQL Anywhere 데이터베이스 관리 시스템 SQL [9]Anywhere의 일부로 C 및 C++용 임베디드 SQL을 지원합니다.
SAP Sybase IQ는 Sybase [10]IQ 데이터베이스 관리 시스템의 일부로 C 및 C++용 내장 SQL을 지원합니다.
도메인 고유의 언어를 통한 임베디드 SQL
- LINQ-to-SQL은 SQL과 유사한 언어를 에 포함합니다.NET 언어
- JPA는 Criteria API를 통해 SQL과 유사한 언어를 Java에 포함합니다.
- jOOQ는 SQL과 유사한 언어를 Java에 포함합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "The Module Language Concept". SQL*Module for Ada Programmer's Guide, Release 8.0, Chapter 1. Introduction to SQL*Module. Oracle Corporation. Retrieved 2008-07-14.
- ^ "DB2 Database for Linux, UNIX and Windows". Developing Embedded SQL Applications. IBM. Retrieved 2009-04-10.
- ^ "Informix Dynamic Server". IBM® Informix® ESQL/C. IBM. Retrieved 2020-03-31.
- ^ "Deprecated Database Engine Features in SQL Server 2008". SQL Server 2008 Books Online (March 2009). Microsoft. Retrieved 2009-04-10.
- ^ "Embedded SQL". Mimer SQL Programmer's Manual version 11.0, Embedded SQL. Mimer SQL.
- ^ "Ada Support in Version 8". Oracle9i Database Migration, Release 2 (9.2), Chapter 5. Compatibility and Interoperability. Oracle Corporation. Retrieved 2008-07-14.
- ^ a b c "Language Alternatives". Pro*COBOL Precompiler Programmer's Guide, Release 8.0, Chapter 1. Introduction. Oracle Corporation. Retrieved 2008-07-14.
- ^ "EmbeddedSQL". SAP Sybase Products. SAP Sybase. Retrieved 2012-09-05.
- ^ "SAP Sybase SQL Anywhere". SAP Sybase Products. SAP Sybase. Archived from the original on 2013-05-01. Retrieved 2013-05-02.
- ^ "SAP Sybase IQ". SAP Sybase Products. SAP Sybase. Archived from the original on 2013-05-04. Retrieved 2013-05-02.