
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.

