Analisa e converte uma string SQL - Structured Query Language, escrita em MSSQL - Microsoft Structured Query Language, para um dos bancos de dados relacionais homologados.
Sintaxe
MSParse( < cSQL >, < cBD >, [ lIsQuery ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cSQL | caractere | Indica a string SQL, escrita em MSSQL, que será convertida. | X | |
cBD | caractere | Indica o nome do banco de dados para o qual será convertida string SQL - Structured Query Language. | X | |
lIsQuery | lógico | Indica se, verdadeiro (.T.), é uma query simples (Exemplo: Select); caso contrário, falso (.F.), procedures. |
Retorno
Nome | Tipo | Descrição |
---|---|---|
cResult | caractere | Retorna a string SQL convertida para o banco em questão, ou retorna uma string vazia caso exista algum erro ou impossibilidade na conversão da procedure. |
Observações
- Recomendamos a utilização da função MSParseFull(), pois contempla todas as características dessa função com mais funcionalidades.
Os bancos de dados relacionais aceitos, no segundo parâmetro <cBD>, são:
- "INFORMIX", para bancos de dados Informix®
- "DB2 " , para IBM Universal Database® (DB2)
- "ORACLE", para bancos de dados Oracle®
- "SYBASE", para SyBase Adaptive Server®
- "MSSQL", para Microsoft SQL®
- "MYSQL", para MySQL Database
- "POSTGRES", para PostgreSQL
Exemplos
user Function exemplo() TCLink() cSQL := " Create Procedure PROC_EXAMPLE(@outStr char(64) OUTPUT, @outValue int OUTPUT) As " + ; " Begin " + ; " select @outStr = 'Teste' " + ; " select @outValue = 100 " + ; " End " // verifique o banco de dados utilizado para atribuir no segundo parametro da função MSParse cResult := MSParse(cSQL, "ORACLE", .F.) conout(cResult) TCSPExec(cResult) if TCSPExist("PROC_EXAMPLE") == .T. conout("Procedure criada com sucesso!") endif TCUnlink() Return