4D v12.4SQL EXECUTE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v12.4
SQL EXECUTE
|
SQL EXECUTE ( instrucaoSQL {; objAssoc}{; objAssoc2 ; ... ; objAssocN} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
instrucaoSQL | Texto |
![]() |
Comando SQL a executar | |||||
objAssoc | Variável, Campo |
![]() |
Recebe resultado (se necessário) | |||||
O comando SQL EXECUTE é utilizado para executar um comando SQL e associar o resultado a objetos 4D (arrays, variáveis ou campos).
Para que o comando possa ser executado, uma conexão válida precisa ser especificada no processo atual.Neste exemplo, obteremos a coluna ename da tabela emp da fonte de dados externos. O resultado é armazenado no campo 4D [Empregados]Nome. Os registros 4D são criados automaticamente:
SQLStmt:="SELECT ename FROM emp"
SQL EXECUTE(SQLStmt;[Empregados]Nome)
SQL LOAD RECORD(SQL All Records)
Para controlar a criação de registros, é possível incluir o código numa transação e confirmá-la unicamente se a operação teste for satisfatória:
SQL LOGIN("mysql";"root";"")
SQLStmt:="SELECT campo _alfa FROM ap_Tabela_Testea"
START TRANSACTION
SQL EXECUTE(SQLStmt;[Tabela 2]Campo1)
While(Not(SQL End selection))
SQL LOAD RECORD
... `Escrever o código de validação de dados aqui
End while
VALIDATE TRANSACTION `Validação da transação
Neste exemplo, queremos obter a coluna ename da tabela emp da fonte de dados externos. O resultado será armazenado em um array Nome. Obtemos os registros de 10 em 10.
ARRAY STRING(30;Nome;20)
SQLStmt:="SELECT ename FROM emp"
SQL EXECUTE(SQLStmt;Nome)
While(Not(SQL End selection))
SQL LOAD RECORD(10)
End while
Neste exemplo, queremos obter as colunas ename e job da tabela emp para um ID especifico ID (cláusula WHERE) da fonte de dados externa. O resultado é armazena nas variáveis 4D vNome e vJob. Só se recupera o primeiro registro.
SQLStmt:="SELECT ename, job FROM emp WHERE id = 3"
SQL EXECUTE(SQLStmt;vNome;vJob)
SQL LOAD RECORD
Neste exemplo, queremos obter a coluna Campo_Blob da tabela Test na fonte de dados. O resultado é armazenado em uma variável BLOB cujo valor é atualizado cada vez que um registro for carregado.
C_BLOB(MeuBlob)
SQL LOGIN
SQL EXECUTE("SELECT Campo_Blob FROM Test";MeuBlob)
While(Not(SQL End selection))
`Buscamos nos resultados
SQL LOAD RECORD
`O valor de MeuBlob é atualizado a cada chamada
Se o comando for executado corretamente, a variável sistema OK retorna 1, do contrário retorna 0.
Produto: 4D
Tema: SQL
Número
820
Criado por: 4D 2004