Pregunta: | 8406 - STORE PROCEDURES. |
Autor: | Jaime Arvizu |
Hola chicos, alguien me puede explicar como definir los store procedures en una aplicacion de Power Builder. Mi problema reside en que tengo una aplicacion la cual maneja toda la informacion sobre DataWindows, y la tarea que me asignaron es eliminar la sentencia SQL en la data window y hacer que corra esas mismas datawindows con store procedures.
Cualquier idea es bienvenida. Muchas gracias de antemano. |
Respuesta: | Carlos JB |
Las salidas de tu datawindow con sql quemado, deben ser igual a las de tu procedimiento almacenado, te voy a enseñar como lo debes hacer para no borrar los datawindows que ya tienes hecho.
Recuerda cuando vas a hacer esto con tus datawindows, guarda una copia de los que vas a editar, como precaución. Lo que vamos a hacer para mejor comprensión es hacer dos datawindow uno con sql quemado, y el otro con sp. Ejem. El primer datawindow, va a tener: SELECT columna1 FROM tabla; Y lo guardas como dw_sql Y luego creas el procedimiento: CREATE PROCEDURE procedimiento() BEGIN SELECT columna1 FROM tabla; END; Y en base a este ultimo procedimiento haces otro datawindow llamado dw_sp Ahora en el pintor de librerias, buscas los datawindows creados, le das clic derecho y los exportas los dos. Desde el editor (edit), los abres y podrás ver las diferencias de cada uno. Solamente debes cambiar la línea del retrieve, por la linea del procedimiento. Ej: Cambias esta línea retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"tabla~" ) COLUMN(NAME=~"columna~")) " Por esta: procedure="1 execute procedimiento;0 " Luego solamente importas el dw al que le hiciste el cambio, para que le caiga encima al anterior, y pruébalo. No es necesario hacer el datawindow extra, si sabes lo que vas a cambiar, pero me parece mas seguro. |
Respuesta: | Edgardo Chamorro |
Por la largada de la respuesta esta en el archivo resp8406.txt
Descargar ejemplo |
Respuesta: | Jorge Reynoso |
Hola Jaime
Para definir un store procedure debes entrar en db administration de powerbuilder y alli crear el store procedure: ej.: Create procedure as select * from usuarios Y luego puedes llamar a este sp desde un datawindows. Espero que te sirva Saludos |