SQL SET PARAMETER
SQL SET PARAMETER ( objeto ; paramTipo )
Parâmetro | Tipo | Descrição | |
---|---|---|---|
objeto | Object | → | Objeto 4D a ser usado (variável, array ou campo) |
paramTipo | Integer | → | Tipo de parâmetro |
Esse comando não é seguro para thread e não pode ser usado em código adequado.
Descrição
O comando SQL SET PARAMETER permite o uso do valor de uma variável, array ou campo 4D nas pedidos SQL.
Nota: também é possível inserir diretamente o nome de um objeto 4D a utilizar (variável, array ou campo) entre os caracteres << e >> no texto do pedido (ver exemplo 1). Para maior informação, consulte a seção Introdução aos comandos SQL .
- No parâmetro objeto, passe o objeto 4D (variável, array ou campo) a utilizar no pedido
- No parâmetro tipoParam, passe o tipo SQL do parâmetro. Pode passar um valor ou utilizar uma das seguintes constantes, localizadas no tema “SQL”
| Constante | Tipo | Valor | Comentário |
| ---------------- | ------------- | ----- | ---------------------------------------------------------------------------------------------------------------------------------- |
| SQL param in | Inteiro longo | 1 | |
| SQL param in out | Inteiro longo | 2 | Utilizável unicamente no contexto de um procedimento armazenado SQL (entrada-saída parâmetro definido no procedimento armazenado). |
| SQL param out | Inteiro longo | 4 | Utilizável unicamente no contexto de um procedimento armazenado SQL (parâmetro saída definido no procedimento armazenado). |
O valor do objeto 4D substitui ao caractere ? no pedido SQL (Sintaxe padrão). Se a solicitação contiver mais de um caractere ?, serão necessárias várias chamadas a SQL SET PARAMETER. Os valores dos objetos 4D serão atribuídos sequencialmente no pedido, de acordo com a ordem de execução dos comandos.
Atenção: Este comando se utiliza para lidar com os parâmetros passados a petição SQL. Não é possível utilizar o tipo SQL param out para associar um objeto 4D ao resultado de uma petição SQL. O resultado de uma petição SQL se recupera, por exemplo, utilizando o parâmetro objAssoc do comando SQL EXECUTE (ver Introdução aos comandos SQL). O comando SQL SET PARAMETER se utiliza geralmente para definir os parâmetros passados a petição (SQL param in); os tipos SQL param out e SQL param in out estão reservados para ser utilizados no contexto dos procedimentos armazenados SQL que podem devolver parâmetros.
Exemplo 1
Este exemplo é utilizado para executar um pedido SQL ao qual chama diretamente às variáveis 4D associadas:
var MeuTexto : Text
var MeuInteiroLongo : Integer
SQL LOGIN("mysql";"root";"")
SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (<>, <>)"
For(vContador;1;10)
MeuTexto:="Text"+String(vContador)
MeuInteiroLongo:=vContador
SQL EXECUTE(SQLStmt)
SQL CANCEL LOAD
End for
SQL LOGOUT
Exemplo 2
O mesmo exemplo que o anterior, mas utilizando o comando SQL SET PARAMETER :
var MeuTexto : Text
var MeuInteiroLongo : Integer
SQL LOGIN("mysql";"root";"")
SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (?,?)"
For(vCounter;1;10)
MeuTexto:="Text"+String(vContador)
MeuInteiroLongo:=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
Variáveis e conjuntos do sistema
Se o comando tiver sido executado corretamente, a variável Sistema OK retorna 1. Do contrário, retorna 0.