Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Informar detalhes sobre as operações de concatenação e uso de parênteses
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css

Pagetitle
MSParse
MSParse

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

...

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.

Informações
icontrue
titleObservações
  • Recomendamos a utilização da função MSParseFull(), pois contempla todas as características dessa função com mais funcionalidades.


    Nota
    icontrue
    titleAtenção

    As operações de concatenação devem utilizar o operador "||", e quando usadas junto com outros operadores, a operação de concatenação deve estar isolada entre "()" parênteses. A operação de concatenação pode ser traduzida para uma chamada de função – como é o caso do POSTGRES – e quando usada junto com outros operadores em uma expressão, a ausência dos parênteses para indicar a precedencia / ordem da operação pode levar a resultados incorretos ou inválidos.

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
languagecpp
themeEclipse
linenumberstrue
collapsefalse
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

...