Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
SQL SET PARAMETER
|
SQL SET PARAMETER ( objeto ; tipoParam ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
objeto | Objeto 4D |
![]() |
Objeto 4D a utilizar (variable, array o campo) | |||||
tipoParam | Entero largo |
![]() |
Tipo de parámetro | |||||
El comando SQL SET PARAMETER permite el uso del valor de una variable, array o campo 4D en las peticiones SQL.
Nota: igualmente es posible insertar directamente el nombre de un objeto 4D a utilizar (variable, array o campo) entre los caracteres << y >> en el texto de la petición (ver ejemplo 1). Para mayor información, consulte la sección Presentación de los comandos del tema SQL.
Constante | Tipo | Valor | Comentario |
SQL param in | Entero largo | 1 | |
SQL param in out | Entero largo | 2 | Utilizable únicamente en el contexto de un procedimiento almacenado SQL (entrada-salida parámetro definido en el procedimiento almacenado) |
SQL param out | Entero largo | 4 | Utilizable únicamente en el contexto de un procedimiento almacenado SQL (parámeto salida definido en el procedimiento almacenado) |
Atención: este comando se utiliza para manejar los parámetros pasados a la petición SQL. No es posible utilizar el tipo SQL param out para asociar un objeto 4D al resultado de una petición SQL. El resultado de una petición SQL se recupera, por ejemplo, utilizando el parámetro objAsoc del comando SQL EXECUTE (ver Presentación de los comandos del tema SQL). El comando SQL SET PARAMETER se utiliza por lo general para definir los parámetros pasados a la petición (SQL param in); los tipos SQL param out y SQL param in out están reservados para ser utilizados en el contexto de los procedimientos almacenados SQL que pueden devolver parámetros.
Este ejemplo se utiliza para ejecutar una petición SQL la cual llama directamente a las variables 4D asociadas:
C_TEXT(MiTexto)
C_LONGINT(MiEnteroLargo)
SQL LOGIN("mysql";"root";"")
SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (<<MiTexto>>, <<MienteroLargo>>)"
For(vContador;1;10)
MiTexto:="Text"+String(vContador)
MiEnteroLargo:=vContador
SQL EXECUTE(SQLStmt)
SQL CANCEL LOAD
End for
SQL LOGOUT
El mismo ejemplo anterior, pero utilizando el comando SQL SET PARAMETER:
C_TEXT(MiTexto)
C_LONGINT(MiEnteroLargo)
SQL LOGIN("mysql";"root";"")
SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (?,?)"
For(vCounter;1;10)
MiTexto:="Text"+String(vContador)
MiEnteroLargo:=vCounter
SQL SET PARAMETER(MyText;SQL param in)
SQL SET PARAMETER(MyLongint;SQL param in)
SQL EXECUTE(SQLStmt)
SQL CANCEL LOAD
End for
SQL LOGOUT
Si el comando se ha ejecutado correctamente, la variable sistema OK devuelve 1. De lo contrario, devuelve 0.
Producto: 4D
Tema: SQL
Número
823
Creado por: 4D 2004
Manual de lenguaje 4D ( 4D v20 R7)