Já tem um tempinho fiz um post sobre a Definição de PL/SQL, agora vou abordar mais a diferença entre SQL e PL/SQL.
- SQL: Structured Query Language(Linguagem de Consulta Estruturada ) - é a linguagem de manipulação de dados para banco de dados relacionais, criada pela IBM na década de 70 baseada em conceitos da Álgebra relacional . Foi desenvolvida para padronização dos sistemas gerenciadores de banco de dados relacionais existentes. Seus comandos podem ser agrupado na seguintes categorias (DDL, DCL, DML, DQL).
- PL/SQL: Procedural Language/Structured Query Language - é a linguagem própria de programação do SGBD Oracle, é uma ferramenta robusta, podendo ser utilizada de várias formas para tratamento de dados no banco de dados. O PL/SQL possibilita a aplicação de regras de negocio diretamente no SGB.
Principais Diferenças
Podemos dizer que enquanto o SQL é uma linguagem de consulta universal dos SGBDs relacionais o PL/SQL é uma linguagem de programação desenvolvida exclusivamente para o SGBD Oracle.
Para identificar se você esta utilizando o PL/SQL ou apenas o SQL em um acesso ao banco de dados é importante observar se é feita a declaração de variáveis ou se o seu código esta utilizando conceitos de programação ( If, else, Loop entre outros) e se o seu código esta dentro de um bloco de execução.
Normalmente o PL/SQL é utilizado dentro de blocos de execução armazenados no SGBD (Procedures, Functions, Triggers e Packages) em alguns casos pode ser utilizado através de blocos anônimos, é importante lembrar que comandos de SQL podem ser utilizados dentro do PL/SQL, porém o inverso não é valido, ou seja caso você tente executar uma função PL/SQL fora de um bloco de execução o SGBD oracle não vai reconhecer a instrução apresentando o erro "ora-00905 missing keyword".
Bloco Anônimo |