SQL / PSM - SQL/PSM

SQL / PSM
Paradigma Multiparadigma
Apareceu pela primeira vez 1996
Versão estável
SO Plataforma cruzada (multiplataforma)
Implementações principais
PL / SQL
MySQL / MariaDB
da IBM SQL PL
Mimer SQL
Influenciado por
PL / SQL
Ada

SQL / PSM ( SQL / Persistent Stored Modules) é um padrão ISO que define principalmente uma extensão de SQL com uma linguagem procedural para uso em procedimentos armazenados . Publicado inicialmente em 1996 como uma extensão do SQL-92 (ISO / IEC 9075-4: 1996, uma versão às vezes chamada de PSM-96 ou mesmo SQL-92 / PSM), o SQL / PSM foi posteriormente incorporado ao SQL de várias partes : Padrão de 1999 e tem sido a parte 4 desse padrão desde então, mais recentemente no SQL: 2016 . O SQL: 1999 parte 4 cobriu menos do que o PSM-96 original porque as instruções SQL para definir, gerenciar e invocar rotinas foram realmente incorporadas na parte 2 SQL / Foundation, deixando apenas a linguagem procedural em si como SQL / PSM. Os recursos SQL / PSM ainda são opcionais no que diz respeito ao padrão SQL; a maioria deles está agrupada nos recursos P001-P008.

O SQL / PSM padroniza a sintaxe e a semântica para o fluxo de controle , tratamento de exceções (chamado "tratamento de condição" no SQL / PSM), variáveis ​​locais, atribuição de expressões a variáveis ​​e parâmetros e uso (procedural) de cursores . Ele também define um esquema de informações ( metadados ) para procedimentos armazenados. SQL / PSM é uma linguagem na qual os métodos para os tipos estruturados SQL: 1999 podem ser definidos. O outro é Java, via SQL / JRT .

SQL / PSM é derivado, aparentemente diretamente, do PL / SQL da Oracle . A Oracle desenvolveu o PL / SQL e o lançou em 1991, baseando-se na linguagem de programação Ada do Departamento de Defesa dos Estados Unidos . No entanto, a Oracle manteve-se distante do padrão em sua documentação. O SQL PL da IBM (usado no DB2) e o PSM do Mimer SQL foram os dois primeiros produtos a implementar oficialmente o SQL / PSM. É comumente pensado que essas duas linguagens, e talvez também a linguagem procedural do MySQL / MariaDB , sejam as mais próximas do padrão SQL / PSM. No entanto, um addon PostgreSQL implementa SQL / PSM (junto com suas outras linguagens procedurais como o plpgsql derivado de PL / SQL), embora não faça parte do produto principal.

A funcionalidade RDF no OpenLink Virtuoso foi desenvolvida inteiramente por meio de SQL / PSM, combinada com tipos de dados personalizados (por exemplo, ANYpara lidar com URI e objetos de relação Literal), indexação sofisticada e opções de armazenamento físico flexíveis (coluna ou linha).

Veja também

As seguintes implementações adotam o padrão, mas não são 100% compatíveis com SQL / PSM:

Código aberto :

Proprietário:

Referências

Leitura adicional

  • Jim Melton, Understanding SQL's Stored Procedures: A Complete Guide to SQL / PSM , Morgan Kaufmann Publishers, 1998, ISBN  1-55860-461-8