ce prefix = o ns = "urn:schemas-microsoft-com:office:office" />
IBM DB2
Desenvolvimento
Na primeira parte deste artigo vimos os conceitos básicos da SQL PL, aprendemos a criar user defined functions, stored procedures e triggers. Nesta segunda e última parte veremos alguns assuntos um pouco mais avançados da SQL PL como cursores e triggers instead of. Para começar vamos conhecer a principal ferramenta de desenvolvimento do DB2, o Centro de desenvolvimento. O Centro de desenvolvimento é uma ferramenta gráfica distribuída com o DB2 e possibilita o desenvolvimento e depuração de stored procedures no banco de dados.
Criando uma stored procedure pelo Centro de Desenvolvimento
Vamos agora mostrar como utilizar a ferramenta para desenvolvimento e depuração de stored procedures
Figura 1. Carregando o Centro de Desenvolvimento.
Figura 2. O Centro de desenvolvimento do DB2.
Vamos agora criar um novo projeto pelo centro de desenvolvimento para entendermos melhor o seu funcionamento.
No menu você deve selecionar Projeto>Novo Projeto. Em seguida você deve digitar um nome para o projeto e um diretório onde o projeto será armazenado e finalmente você deve conectar o centro de desenvolvimento ao banco de dados (no menu conexões de banco de dados você deve selecionar a opção incluir conexão). Agora é só colocar as informações do seu banco de dados.
Vamos colocar como nome do projeto SQLMAG e como nome do diretório aceitaremos o valor default do centro de desenvolvimento.
Vamos então criar nossa primeira stored procedure pelo centro de desenvolvimento, na sua conexão de banco de dados selecione Procedimento Armazenados>Novo>Procedimentos Armazenados SQL. Veja na Listagem 1 o código da nossa stored procedure.
CREATE PROCEDURE PSP.VARRENDO_CLIENTES( )
P1: BEGIN
DECLARE v_registros INTEGER DEFAULT 0;
DECLARE v_codigo INTEGER;
DECLARE SQLSTATE CHAR(5);
DECLARE CUR_CLIENTE CURSOR
FOR SELECT Codigo FROM TB_CLIENTE;
OPEN CUR_CLIENTE;
FETCH FROM CUR_CLIENTE INTO v_codigo;
WHILE (SQLSTATE = '00000') DO
SET v_registros = v_registros + 1;
FETCH FROM CUR_CLIENTE INTO v_codigo;
END WHILE;
END P1
Listagem 1. Criando stored procedures pelo centro de desenvolvimento.
Utilizaremos o exemplo da Listagem 1 para mostrar como depurar stored procedures pelo centro de desenvolvimento. A stored procedure cria um cursor para a tabela TB_CLIENTE e o percorre registro a registro, o que nos permitirá acompanhar cada passo da execução da stored procedure observando o valor atribuído às variáveis v_registros e v_codigo durante a execução.
Depurando stored procedures pelo Centro de Desenvolvimento
Vamos mostrar agora o básico sobre depuração de stored procedures pelo centro de desenvolvimento. Criaremos alguns pontos de interrupção e em seguida executaremos a stored procedure observando o valor das variáveis que são incrementadas no corpo da stored procedure. Antes de depurar uma stored procedure, devemos compilar a procedure para depuração. Observe na Figura 3 o botão em destaque que é utilizado para este fim.
Figura 3. Compilando a stored procedure para depuração.
Na Figura 3 você pode observar que foram inseridos dois pontos de interrupção na stored procedure nas linhas 11 e 12. Estes pontos de interrupção serão utilizados para depurá-la. Na Figura 4 você pode observar o botão em destaque que nos permite inserir pontos de interrupção no corpo da stored procedure.