Page tree
Skip to end of metadata
Go to start of metadata

Analisa e converte uma Stored Procedure escrita em SQL ANSI, para um dos bancos de dados relacionais homologados.

Sintaxe

MSParse( < cSQL >, < cBD >, [ lComp ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cSQL

caractere

Stored Procedure escrita em SQL ANSI, que será convertida.

X

 

cBD

caractere

Indica o nome do banco de dados para o qual será convertida Stored Procedure.

X

 

lComp

lógico

Parâmetro de compatibilidade. Deve ser informado o valor nulo ( NIL ).

 

 

Retorno

Nome

Tipo

Descrição

cResult

caractere

Retorna a Stored Procedure 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


  • No labels