Google+ Followers

quinta-feira, 31 de agosto de 2017

Blocos PL/SQL

A PL/SQL é chamada de linguagem estruturada em blocos. Um bloco PL/SQL é uma unidade sintática  que pode conter código de programa, declarações de variáveis, handlers de erro, procedimento, funções e até mesmo outros blocos PL/SQL.

Um bloco PL/SQL é formado por três sessões:


DECLARE

É uma seção opcional reservada para declaração de variáveis, constantes, tipos, exceções definidas por usuários, cursores e subrotinas,

BEGIN

É uma seção executável que contém os comandos SQL e PL/SQL que irão manipular dados do banco e é iniciada pela palavra chave BEGIN.

EXCEPTION

É uma seção opcional reservada para tratamento de exceções.

END; 

Exemplo:

DECLARE 

   bonus NUMBER(8,2);
   emp_id NUMBER(6) := 201;

BEGIN

SELECT  salary * 0.10 INTO bonus
FROM HR.employees
WHERE employee_id = emp_id;

/* impreme o resultado na tela*/
DBMS_OUTPUT.put_line('SALARIO REAJUSTADO EM ' || bonus || ' REAIS!!!');

END;


Sara Meireles
Especialista em BI






O que é PL/SQL ?


PL/SQL - Procedural Language Structered Query Language é uma extensão da linguagem SQL padrão ANSI para manipulação de bancos de dados relacionais. A linguagem SQL é suportada por todos os SGBD's relacionais como: Oracle, Microsoft SQL Server, MySQL, PostgreSQL, SQLite e DB2 da IBM.


Embora a SQL sejam uma linguagem que oferece recursos para recuperação e manipulação de dados em tabelas, controle de transação, definição de objetos e controle de acesso. A SQL não possui comandos para tomada de decisão IF-ELSE e nem para execução de laços WHILE e FOR. Por isso que funcionalidades que tornam a linguagem mais completa como controle de fluxos, tratamento de exceções e orientação a objeto foram adicionadas surgindo o PL/SQL para o SGBD Oracle. 


Sara Meireles
Especialista em BI

quarta-feira, 30 de agosto de 2017

O que é Transact-SQL?



Transact-SQL ou T-SQL é uma extensão de linguagem SQL (Structered Query Languange). É uma linguagem de definição, manipulação e controle de dados. Foi implementada pela microsoft para o SQL Server no padrão SQl-92 publicado pelo ANSI (American National Standards Institute) e pela ISO (International Standards Organization). 

Tipos de instruções Transact-SQL:


  • DDL - Data Definition Language
  • DCL - Data Control Language
  • DML - Data Manipulation Language

Sara Meireles
Especialista em BI


Data Definition Language - DDL




As instruções de DDL definem um banco de dados, criando bancos de dados, tabelas e tipos de dados definidos pelo usuário. As DDL também podem ser usadas para gerenciar os objetos do banco de dados. Por padrão, somente os membros do cargo sysadmin, dbcreator, db_owner ou db_ddladmin podem executar instruções de DDL. Exemplos de algumas instruções de DDL:

  • CREATE nome_do_objeto
  • ALTER nome_do_objeto
  • DROP nome_do_objeto


CREATE

A instrução CREATE TABLE cria uma nova  e seus campos, além das restrições de campo. Se for especificado um NOT NULL para um campo, então será necessário que os novos registros tenham dados válidos nesse campo. Uma cláusula CONSTRAINT estabelece várias restrições sobre um campo e evitam que dados inválidos sejam inseridos no banco e pode ser usada para estabelecer a chave primária.  

NOT NULL

A constraint NOT NULL impede que valores nulos sejam inseridos em uma coluna.

UNIQUE

A constraint UNIQUE impede que valores duplicados sejam inseridos em uma coluna.

O script a seguir cria uma tabela chamada customer (cliente) no banco de dados Northwind. Ela inclui as colunas cust_id (identificação do cliente), company (empresa), contact (contato) e phone (telefone).


CREATE TABLE customer (
cust_id int not null,
company varchar (40),
contact varchar (30),
phone char(12)
CONSTRAINT PK_CUSTOMER PRIMARY KEY (cust_id)
);
GO

ALTER

A instrução ALTER TABLE modifica uma definição de tabela alterando, adicionando ou removendo colunas e restrições, reatribuindo e recriando partições, ou desabilitando ou habilitando restrições e gatilhos.

O script a seguir altera o tipo de um campo de char(12) para numeric(18,0) e adiciona uma nova coluna endereço na tabela.

ALTER TABLE [dbo].[customer] ALTER COLUMN phone numeric(18,0);

ALTER TABLE [dbo].[customer] ADD endereco VARCHAR(20) NULL;  



Sara Meireles
Especialista em BI