Google+ Followers

sexta-feira, 26 de janeiro de 2018

FUNCTIONS ou PROCEDURES


Neste post vou falar sobre functions ou procedure em postgresql.

Funções são muitos utilizadas na programação pois é escrita uma única vez e a mesma pode ser executada várias vezes em diferentes partes do código. Por exemplo: uma função que calcule a raiz quadrada de um número. Uma vez escrita,  toda vez que precisar calcular a raiz quadrada de um número, bastaria fazer a chamada de execução passando como parâmetro o número que se deseja calcular a raiz quadrada e a função retornaria o resultado do calculo.

O procedimento é diferente da função porque não retorna resultado. Por exemplo um precedimento para atualizar a coluna "bloqueado" para true na tabela "usuário", quando o usuário na terceira tentativa digitar a senha errada. Não precisa retornar nenhum resultado.

Funções e procedimentos podem receber parâmetro. Mas somente a função é que retorna valor.

Cada banco de dados tem sua forma de implementar funções um pouco diferente uns dos outros. Funções ou procedimentos são armazenados dentro do banco de dados.

Existem funções prontas no banco de dados. Por eexemplo: SUM, AVG, MAX, MIN e entre outras. Mas podemos criar nossas próprias funções.


Exemplo prático:

Vamos criar a tabela abaixo:












Popule a tabela com os dados abaixo:







Faça um select na tabela "usuário"













A função abaixo mostra um login de usuário sendo passado como parâmetro e retornando o id do login. 








 





Executando a função. Usa-se o comando select nome_da_função (parâmetro a ser passado).















Sara Meireles
Especialista em BI






domingo, 12 de novembro de 2017

DDL - Data Definition Language


Linguagem usada para definir estruturas de banco de dados. Então configure, altere e remova estruturas de dados das tabelas com os comandos:


CREATE

CREATE TABLE meus_contatos (
sobre_nome VARCHAR(30),
primeiro_nome VARCHAR (20), 
email VARCHAR (50), 
aniversario DATE, 
profissao VARCHAR (50),
local VARCHAR (50),
estado_civil VARCHAR (20),
interesse VARCHAR (100),
procura VARCHAR (100) 
);

ALTER



ALTER TABLE autoria

DROP COLUMN Attribute1;


DROP

DROP TABLE autoria;


Sara Meireles
Especialista em BI

DML - Data Manipulation Language




Uma transação é composta por uma coleção de instruções DML. Então recupere linhas, insira novas linhas, altere linhas existentes e remove linhas indesejadas da tabela de banco de dados com os comandos:


INSERT

INSERT INTO ALBUM VALUES 
(1, 'Ana Vilela', '2017/04/12'), 
        (2, 'AnaVitoria', '2016/04/12'), 
        (3, 'Bruno e Marrone', '2017/08/13'), 
        (4, 'Marilia Mendonça', '2017/09/13'), 
        (5, 'Maiara e Maraisa',  '2016/10/10')


DELETE

DELETE FROM artista;

ou 

DELETE FROM artista
WHERE cod_artista=1;


UPDATE



Sara Meireles
Especialista em BI

domingo, 15 de outubro de 2017

String or binary data would be truncated.


Se alguma vez você já se deparou com essa mensagem de erro no SQL Server.  


"String or binary data would be truncated. The statement has been terminated".  


Não se desespere! Esta mensagem significa que a quantidade de caracteres excedeu ao tamanho do campo. A palavra TRUNCATED em português truncado que significa cortado. Essa mensagem pode aparecer por exemplo ao executar um comado "INSERT INTO". Verifique no script do insert qual o valor está excedendo o tamanho do campo. Faça a correção  e execute o script novamente. 

Exemplo:





Sara Meireles
Especialista em BI


segunda-feira, 11 de setembro de 2017

Declaração de Variáveis



A declaração de variável deve ser feita na sessão DECLARE antes de referenciá-la no bloco PL/SQL. Um valor inicial pode ser atribuído a uma variável.


Sintaxe:

Identificador [CONSTANT] tipo de dado [NOT NULL] [ := | DEFAULT expressão]


Identificador nome da variável.

CONSTANT Contém valores que não podem ser alterados. Contantes devem ser inicializadas

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