Índice:
Objetivo:
Este Este documento tem por objetivo orientar na criação de cubo .net com a execução de Stored Procedure.
Execução:
A A execução de stored procedure está disponível apenas na versão 11.80, por se tratar de uma sugestão de melhoria.
Foram realizados os seguintes passos:
Criei Foi criada uma tabela com o nome Cliente
em meu no banco de dados
da com a seguinte estrutura:
Bloco de código |
---|
CREATE TABLE Cliente |
DataCadastro datetime NOT NULL DEFAUTT (getdate()), |
Pais varchar(20) DEFAULT ('Brasil') |
![](/download/attachments/63865597/SP1.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Feito esse procedimento, foi criada uma stored procedure chamada SPTESTE, conforme abaixo, onde ao executá-la, serão inseridas na tabela Cliente nos campos Codcliente,Nome,CPF,Cidade,UF, passados pelos parâmetros @CODCLIENTE,@NOME,@CPF,@CIDADE,@UF :
Bloco de código |
---|
CREATE PROCEDURE SPTESTE |
INSERT INTO CLIENTE(Codcliente,Nome,CPF,Cidade,UF) |
(@CODCLIENTE,@NOME,@CPF,@CIDADE,@UF) |
![](/download/attachments/63865597/SP2.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Criadas as tabelas e também a procedure, acessei a nova MDI na versão 11.80, e através do menu Gestão\Visões de dados, e criei uma consulta SQL com o nome de SPTESTE, onde realizei a seguinte consulta
SELECT * FROM Cliente, conforme abaixo:
![](/download/attachments/63865597/SP3.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Como não existe registro na tabela, o resultado da consulta não retornou informações:
![](/download/attachments/63865597/SP4.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Após salvar a consulta, cliquei no botão Configurar\Stored Procedure, aqui no botão Incluir Nova Stored Porcedure localizei a SPTESTE. Repare que você pode executar a Procedure antes ou depois da execução da consulta SQL, nesse exemplo, optei por executar a SP antes da consulta:
![](/download/attachments/63865597/SP5.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Ao clicar em Executar, no cadastro da consulta SQL, é aberta a tela de execução da consulta juntamente com os Parâmetros exigidos para a execução da Procedure:
![](/download/attachments/63865597/SP6.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Ao informar todos e logo após clicar em executar, a Stored Procedure é executada antes da execução da Sentença, conforme configurado acima, alimentando a tabela Cliente:
![](/download/attachments/63865597/SP7.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Abaixo o resultado da execução da Procedure e após a tabela preenchida:
![](/download/attachments/63865597/SP8.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Resultado da consulta no Banco:
![](/download/attachments/63865597/SP9.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Criação do cubo TESTE PROCEDURE já relacionado com a consulta acima criada:
![](/download/attachments/63865597/SP10.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Ao editar o cubo, como configurei para a Procedure ser executada antes da execução da consulta, é apresentada a tela para passagem dos parâmetros:
![](/download/attachments/63865597/sp11.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Após executar o processo, configurei o Layout do meu cubo da seguinte forma, repare que a tabela de cliente foi preenchida com os novos parâmetros que passei e o resultado foi exibido juntamente com os registros já existentes na tabela Cliente:
![](/download/attachments/63865597/sp12.png?version=1&modificationDate=1372421996000&api=v2&effects=drop-shadow)
Resultado consulta no Banco após atualização do cubo:
Informações complementares:
Aviso |
---|
Só é possível cadastrar uma consulta SQL relacionada com uma Procedure que nela possua parâmetros na versão 11.80. Nas versões anteriores(11.40, 11.50) só é possível associar a uma consulta SQL uma Procedure sem parâmetros. |