Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 8 Próxima »

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

Veja também

  • Sem rótulos