Vous êtes sur la page 1sur 2

RESPUESTA A LA PREGUNTA 8406 - POWER BUILDER Hola Jaime: Si quieres utilizar datawindows con Store Procedure (SP), tiene

primero que crear la SP, esto lo haces a travs del editor del power que es un icono con una base de datos con un lpiz. Te adjunto un archivo con un programa de SP, este mismo programa lo puede llamar desde el editor del power las SP quedan con extensin SQL, bien para comenzar debes poner la lnea de comando: create PROCEDURE NOMBRE_DEL_PROCEDIMIENTO AS A esta lnea se pueden incorporar variable de entrada y salida, como por ejemplo pasar un parmetro para ejecutar el Select, esta variables se crean entre el create y el AS entre parntesis ejemplo: create PROCEDURE NOMBRE_DEL_PROCEDIMIENTO ( @num_rut NUMERIC(10,0) , @dv_rut CHAR(1)) AS Cuando se ejecuta este SP estas variables son como los argumentos en el datawindows, Bueno como te has dado cuenta antes de la variable esta el @ (arroba) esto permite distinguir las variables de las campos de un select obligatoriamente las variables se define de esta manera, ahora si quiere utilizar variables dentro de la SP se definen con el comando DECLARE y se colocan posterior al AS de la creacin; create PROCEDURE NOMBRE_DEL_PROCEDIMIENTO AS DECLARE @rut_cliente NUMERIC(10), @dv_rut CHAR(1), @nombres CHAR(30), @apaterno CHAR(15), Si requiere utilizar un tabla temporal tambin se define posterior al AS: create PROCEDURE NOMBRE_DEL_PROCEDIMIENTO AS create table #lista_clientes ( rut_cliente numeric(10) NULL, nombres char(30) NULL, apaterno char(15) NULL, amaterno char(15) NULL, razon_social char(40) NULL) Esta se utiliza cuando no vas a sacar los datos en forma directa a travs de un select, sino estn sujetos a procesos previos y necesitas realizar clculos o combinarlos con otros datos, en esta tabla puede hacer insert, delete, update, select, igual como si trabajaras con un tabla fsica, (esta tabla es lgica no se define un tu base de datos), para poder utilizar esta tablas temporales en el programa antes de realizar un retrieve al datawindows y posterior al SetTransobject() debe poner : Conexion.Autocommit = true Conexin = SQLCA o la que definas para la conexin Bien siguiendo con la SP, en el puedes realizar select simples o combinados, no es necesario crear tablas temporales para realizar un select, puedes hacerlo directamente, puedes hacer update, clculos, etc, para terminar la SP debe tener un ; (punto y como), ojo es el nico que debe ir en la SP, para ejecutar y validar la SP presiona el icono con una flecha verde de la barra del editor.

Si hay algn problema en la SP te lo va a indicar, muchas veces te da el error en la ltima lnea de comando, pero ten cuidado por lo general es ms arriba. Bien supongamos que terminaste la SP y se cargo en tu base de datos , ahora al crear un datawindows elige la opcin Store Procedure (en data Source no en estilo) y te mostrara una lista con todos las SP creadas, basta con seleccionar una de ellas, una vez hecho esto te pedir que definas los campos de salida, o los datos que te entregara la SP, es igual que cuando uno crear un datawindows External. El manejo de esta datawindows es igual que los creados con select. Espero poder haber aclarado tu duda, te adjunto un ejemplo simple de una Store Procedure Edgardo Chamorro echamorro@databusiness.cl

Vous aimerez peut-être aussi