SQL vs PL SQL
SQL (Structured Query Language) é a linguagem padrão para escrever bancos de dados relacionais de entrada. SQL são instruções simples, que permitem recuperar, inserir, excluir e atualizar registros conforme as necessidades do usuário. Simplesmente é uma linguagem orientada a dados para selecionar e manipular conjuntos de dados. PL SQL (Procedural Language / Structured Query Language) é uma linguagem de extensão procedural para entrada e manipulação de dados pela Oracle.
“PL / SQL, extensão procedural de SQL da Oracle, é uma linguagem de programação avançada de quarta geração (4GL). Ele oferece recursos modernos, como encapsulamento de dados, sobrecarga, tipos de coleção, tratamento de exceções e ocultação de informações. PL / SQL também oferece acesso SQL contínuo, integração total com o servidor e ferramentas Oracle, portabilidade e segurança.”
SQL
Linguagem de consulta estruturada (SQL) pronunciada como “sequela” é uma linguagem de computador de banco de dados projetada para gerenciar dados em sistemas de gerenciamento de banco de dados relacional (RDBMS) e originalmente baseada na álgebra relacional.
O escopo básico do SQL é inserir dados e executar atualização, exclusão, criação de esquema, modificação de esquema e controle de acesso a dados em bancos de dados.
O SQL possui elementos, subdivididos nos seguintes:
Consultas - recupere dados com base em critérios específicos. Existem poucas palavras-chave que podem ser usadas nas consultas. (Selecione, De, Onde, Tendo, Agrupar por e ordenar por)
Ex.: SELECT * FROM tabela1 WHERE coluna1> condição ORDER BY coluna2;
Declarações - que podem controlar transações, fluxo de programa, conexões, sessões ou diagnósticos
Expressões - Isso pode produzir qualquer um;
Valores escalares
Tabelas compostas por colunas e linhas de dados
Predicados - Especifique as condições que podem ser avaliadas para SQL Boolean (verdadeiro / falso / desconhecido)
Cláusulas - componentes constituintes de declarações e consultas
PL / SQL
PL / SQL (Linguagem de Procedimento / Linguagem de Consulta Estruturada) é a linguagem de extensão procedural da Oracle Corporation para SQL e banco de dados relacional Oracle. PL / SQL oferece suporte a variáveis, condições, loops, arrays, exceções. Basicamente, os contêineres de código PL / SQL podem ser compatíveis com os bancos de dados Oracle. Os desenvolvedores de software podem, portanto, implantar unidades de funcionalidade PL / SQL no banco de dados diretamente.
As unidades do programa PL / SQL podem ser definidas da seguinte forma:
Bloqueios anônimos
Forma a base do código PL / SQL mais simples
Funções
Funções são uma coleção de instruções SQL e PL / SQL. As funções executam uma tarefa e devem retornar um valor ao ambiente de chamada.
Procedimentos
Os procedimentos são semelhantes às funções. Os procedimentos também podem ser executados para realizar o trabalho. Os procedimentos não podem ser usados em uma instrução SQL, podem retornar vários valores. Além disso, as funções podem ser chamadas de SQL, enquanto os procedimentos não.
Pacotes
O uso de pacotes é a reutilização de código. Pacotes são grupos de funções, procedimentos, variáveis teoricamente vinculados, tabela PL / SQL e instruções TYPE de registro, constantes e cursores, etc. Os pacotes geralmente têm duas partes, uma especificação e um corpo
Duas vantagens dos pacotes incluem:
Abordagem modular, encapsulamento da lógica de negócios
O uso de variáveis de pacotes pode ser declarado em níveis de sessão
Tipos de variáveis em PL / SQL
Variáveis
Variáveis numéricas
Variáveis de personagem
Variáveis de data
Tipos de dados para colunas específicas
Diferença entre SQL e PL / SQL
SQL é uma linguagem orientada a dados para selecionar e manipular dados, mas PL SQL é uma linguagem procedural para criar aplicativos.
O SQL executa uma instrução por vez, enquanto no PL SQL o bloco de código pode ser executado.
SQL é declarativo enquanto PL SQL é procedural.
SQL é usado para escrever Consultas, Linguagem de Manipulação de Dados (DML) e Linguagem de Definição de Dados (DDL), enquanto PL SQL é usado para escrever Blocos de Programa, Gatilhos, Funções, Procedimentos e Pacotes.
Recapitular:
SQL é uma linguagem de consulta estruturada. Em SQL, várias consultas são usadas para lidar com o banco de dados de uma maneira simplificada. PL / SQL é uma linguagem procedural que contém vários tipos de variáveis, funções e procedimentos. O SQL permite que o desenvolvedor emita uma única consulta ou execute uma única inserção / atualização / exclusão por vez, enquanto o PL / SQL permite escrever um programa completo para realizar várias seleções / inserções / atualizações / exclusões de uma vez. SQL é uma linguagem simples orientada a dados enquanto linguagem de programação PL / SQL.