SQL embutido - Embedded SQL
SQL embutido é um método de combinar o poder de computação de uma linguagem de programação e os recursos de manipulação de banco de dados do SQL . As instruções SQL incorporadas são instruções SQL escritas em linha com o código-fonte do programa , da linguagem do host. As instruções SQL embutidas são analisadas por um pré - processador SQL embutido e substituídas por chamadas de linguagem host para uma biblioteca de código . A saída do pré-processador é então compilada pelo compilador host . Isso permite que os programadores incorporem instruções SQL em programas escritos em qualquer número de linguagens, como C / C ++ , COBOL e Fortran . Isso difere das linguagens de programação derivadas de SQL que não passam por pré-processadores discretos, como PL / SQL e T-SQL .
O comitê de padrões SQL definiu o padrão SQL embutido em duas etapas: um formalismo chamado Module Language foi definido e, em seguida, o padrão SQL embutido foi derivado de Module Language. O padrão SQL define a incorporação de SQL como SQL incorporada e a linguagem na qual as consultas SQL são incorporadas é conhecida como a linguagem do host . Uma linguagem de host popular é C. A linguagem de host C e SQL embutido, por exemplo, é chamada de Pro * C nos sistemas de gerenciamento de banco de dados Oracle e Sybase , ESQL / C no Informix e ECPG no sistema de gerenciamento de banco de dados PostgreSQL . SQL também pode ser embutido em linguagens como PHP etc.
Sistemas que suportam SQL embutido
Altibase
- C / C ++
- APRE é um pré-compilador SQL incorporado fornecido pela Altibase Corp. para seu servidor DBMS.
IBM DB2
O IBM DB2 versão 9 para Linux, UNIX e Windows suporta SQL integrado para C, C ++, Java, COBOL, FORTRAN e REXX embora o suporte para FORTRAN e REXX tenha sido descontinuado.
IBM Informix
IBM Informix versão 14.10 para Linux, Unix e Windows oferece suporte a SQL integrado para C.}
Microsoft SQL Server
- C / C ++
- O SQL incorporado para C foi preterido no Microsoft SQL Server 2008, embora versões anteriores do produto o suportem.
Mimer SQL
Mimer SQL para Linux, macOS , OpenVMS e Windows oferece suporte a SQL embutido.
- C / C ++
- SQL incorporado para C / C ++ é compatível com Linux, macOS, OpenVMS e Windows.
- COBOL
- SQL embutido para COBOL é compatível com OpenVMS.
- Fortran
- SQL incorporado para Fortran é compatível com OpenVMS.
Banco de dados Oracle
- Ada
- Pro * Ada foi oficialmente desativado pela Oracle na versão 7.3. A partir do Oracle8, o Pro * Ada foi substituído pelo Módulo SQL *, mas parece não ter sido atualizado desde então. O módulo SQL * é uma linguagem de módulo que oferece um método de programação diferente do SQL embutido. O módulo SQL * suporta o padrão de linguagem Ada83 para Ada.
- C / C ++
- Pro * C tornou-se Pro * C / C ++ com Oracle8. Pro * C / C ++ é atualmente suportado a partir do Oracle Database 11g .
- COBOL
- O Pro * COBOL é atualmente compatível com o Oracle Database 11g .
- Fortran
- O Pro * FORTRAN não é mais atualizado a partir do Oracle8, mas a Oracle continuará a lançar versões de patches à medida que os bugs são relatados e corrigidos.
- Pascal
- Pro * Pascal não foi lançado com Oracle8.
- PL / I
- O Pro * PL / I não foi lançado com o Oracle8. O suplemento Pro * PL / I para o Guia dos pré-compiladores da Oracle , no entanto, continuou a fazer aparições na Biblioteca de Documentação da Oracle até a versão 11 g . A partir da versão 12c, o Pro * PL / I foi removido da Biblioteca de Documentação Oracle.
PostgreSQL
- C / C ++
- ECPG faz parte do PostgreSQL desde a versão 6.3.
- COBOL
- A Cobol-IT agora está distribuindo um pré-compilador COBOL para PostgreSQL
- A Micro Focus fornece suporte por meio de seu pré-processador OpenESQL
Raima Database Manager (RDM)
Raima Database Manager suporta SQL embutido para C / C ++ e SQL PL.
SAP Sybase
SAP Sybase ASE 15.7 oferece suporte a SQL embutido para C e COBOL como parte do Software Developer Kit Sybase .
SAP Sybase SQL Anywhere oferece suporte a SQL embutido para C e C ++ como parte do sistema de gerenciamento de banco de dados SQL Anywhere SQL Anywhere .
SAP Sybase IQ suporta SQL embutido para C e C ++ como parte do sistema de gerenciamento de banco de dados Sybase IQ Sybase IQ .
SQL incorporado por meio de linguagens específicas de domínio
- LINQ-to-SQL incorpora uma linguagem semelhante a SQL em linguagens .NET .
- JPA incorpora uma linguagem semelhante a SQL por meio de Criteria API em Java .
- jOOQ incorpora uma linguagem semelhante a SQL em Java .
Veja também
Referências
- ^ "O conceito de linguagem do módulo" . Módulo SQL * para Guia do Programador Ada, Versão 8.0, Capítulo 1. Introdução ao Módulo SQL * . Oracle Corporation . Página visitada em 14/07/2008 . CS1 maint: parâmetro desencorajado ( link )
- ^ "Banco de dados DB2 para Linux, UNIX e Windows" . Desenvolvimento de aplicativos SQL incorporados . IBM . Página visitada em 2009-04-10 . CS1 maint: parâmetro desencorajado ( link )
- ^ "Informix Dynamic Server" . IBM Informix ESQL / C . IBM . Recuperado em 2020-03-31 . CS1 maint: parâmetro desencorajado ( link )
- ^ "Recursos obsoletos do mecanismo de banco de dados no SQL Server 2008" . Manuais online do SQL Server 2008 (março de 2009) . Microsoft . Página visitada em 2009-04-10 . CS1 maint: parâmetro desencorajado ( link )
- ^ "SQL incorporado" . Mimer SQL Programmer's Manual version 11.0, Embedded SQL . Mimer SQL .
- ^ "Suporte Ada na versão 8" . Oracle9i Database Migration, Release 2 (9.2), Capítulo 5. Compatibilidade e interoperabilidade . Oracle Corporation . Página visitada em 14/07/2008 . CS1 maint: parâmetro desencorajado ( link )
- ^ a b c "Alternativas de idioma" . Guia do Programador do Pré-compilador Pro * COBOL, Versão 8.0, Capítulo 1. Introdução . Oracle Corporation . Página visitada em 14/07/2008 . CS1 maint: parâmetro desencorajado ( link )
- ^ "Artigo técnico da Raima" (PDF) .
- ^ "EmbeddedSQL" . Produtos SAP Sybase . SAP Sybase . Página visitada em 05/09/2012 . CS1 maint: parâmetro desencorajado ( link )
- ^ "SAP Sybase SQL Anywhere" . Produtos SAP Sybase . SAP Sybase. Arquivado do original em 01/05/2013 . Página visitada em 2013-05-02 . CS1 maint: parâmetro desencorajado ( link )
- ^ "SAP Sybase IQ" . Produtos SAP Sybase . SAP Sybase. Arquivado do original em 04/05/2013 . Página visitada em 2013-05-02 . CS1 maint: parâmetro desencorajado ( link )