Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/3279126062824/newLayouttecnologia.css |
Portuguese |
Pagetitle | ||
---|---|---|
|
...
...
...
|
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
Bloco de código | ||
---|---|---|
| ||
MSParse( <cSQL> cSQL >, <cBD> cBD >, [ lIsQuery ] )--> cSQLConvert
|
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
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
user Function exemplo()
TCLink()
cSQL para PostgreSQL#INCLUDE 'TOTVS.CH' User Function TestM1() Local tSQL := "" Local sErro := "" Local sSql := " "tSQL +=Create"create proc sp_Teste (@dtInicial Procedure PROC_EXAMPLE(@outStr char(10 64), @dtFinal char(18) OUTPUT,@ben_id char(6)) " + chr(13) tSQL += "as " + chr(13) tSQL += "declare " + chr(13) tSQL += " @id integer = 1, " + chr(13) tSQL += " @din money, " + chr(13) tSQL += " @hoje date " + chr(13) tSQL += "begin " + chr(13) tSQL += " select distinct " + chr(13) tSQL += " @outValue int OUTPUT) As " + ; " Begin " + ; " select @outStr = 'Teste' " + ; "j.nav_n2 navio, "select+ chr(13) tSQL += @outValue = 100 " + ;isnull(g.proc_nome,'NAO DEVOLVIDO') local_dev, " + chr(13)tSQL += " dateadd(hour, 2, b.data_saida) " + chr(13) tSQL += " End "from tabela1 //a, verifique" o+ chr(13) tSQL += " tabela2 b " + chr(13) tSQL += " where a.dt_entrada between convert(datetime,@dtInicial,103) and convert(datetime,@dtFinal,103) " + chr(13) tSQL += " and a.cliente = b.cliente " + chr(13) tSQL += "end " + chr(13) tSQL += "go " sSql := msparse(tSQL,"INFORMIX") conout("Traduzido: ") conout(sSql) sErro = msparseerror() conout("Erro encontrado: ") conout(sErro) conout("FIM") return Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server 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
|