Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

The Queen

Stored Procedure Oracle para MySQL

Recommended Posts

TENHO ESTA STORED PROCEDURE NO ORACLE E GOSTARIA DE RECRIÁ-LA EM MYSQL ... ESTOU COMEÇANDO AGORA A USAR ESTE SGBD E NÃO ENTENDO MUITO. SE ALGUÉM PUDER ME AJUDAR FICO FELIZ. AH, SE ALGUÉM TIVER UMA DICA DE LIVRO, APOSTILA, TUTORIAL SOBRE ADMINISTRAÇÃO E COMANDOS SQL PARA MYSQL ,TRUQUES, TUNNING ETC EU FICARIA IMENSAMENTE AGRADECIDA.

 

PROCEDURE SP_OCOR_OBT_MOTIVO

(

pNR_MOTIVO_ATEND IN NUMBER := NULL ,

pDS_MOTIVO_ATEND IN VARCHAR2 := NULL ,

pST_ATIV IN VARCHAR2 := NULL,

pST_NECESSITA IN VARCHAR2 := NULL,

pRES IN OUT PKG_NTC_OCOR_VIP.T_CURSOR

) IS

 

-- CAMPOS

 

STRSQL VARCHAR2(2000);

 

/* Obtem todos ou apenas um motivo de acordo com o parametro */

 

BEGIN

 

STRSQL := 'SELECT TP.NR_MOTIVO_ATEND AS CODIGO, ';

STRSQL := STRSQL || ' TP.DS_MOTIVO_ATEND AS DESCRICAO, ';

STRSQL := STRSQL || ' TP.ST_ATIV AS STATUS, ';

STRSQL := STRSQL || ' TP.ST_NECESSITA AS NECESSITA ';

STRSQL := STRSQL || ' FROM NTC_OCOR_MOTIVO_ATEND TP ';

STRSQL := STRSQL || ' WHERE TP.NR_MOTIVO_ATEND > 0 ';

 

IF pNR_MOTIVO_ATEND IS NOT NULL THEN

 

STRSQL := STRSQL || ' AND TP.NR_MOTIVO_ATEND = ' || CHR(39) || pNR_MOTIVO_ATEND || CHR(39);

 

END IF;

 

IF pDS_MOTIVO_ATEND IS NOT NULL THEN

 

STRSQL := STRSQL || ' AND TP.DS_MOTIVO_ATEND = ' || CHR(39) || pDS_MOTIVO_ATEND || CHR(39);

 

END IF;

 

IF pST_ATIV IS NOT NULL THEN

 

STRSQL := STRSQL || ' AND TP.ST_ATIV = ' || CHR(39) || pST_ATIV || CHR(39);

 

END IF;

 

IF pST_NECESSITA IS NOT NULL THEN

 

STRSQL := STRSQL || ' AND TP.ST_NECESSITA = ' || CHR(39) || pST_NECESSITA || CHR(39);

 

END IF;

 

OPEN pRES FOR STRSQL;

 

END SP_OCOR_OBT_MOTIVO;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Confiro a documentação do Mysql a questão é essa: geralmente no mysql executamos uma consulta sem usar cursor, no oracle é obrigatório o uso de cursor para dar saida em uma consulta. Sendo assim já q a exeucução é imediata assim q coloco o select, como faço para montar um select (dependendo de várias condições) e depois excutar. Montar uma string e depois executar como comando como no oracle

 

Confiro a documentação do Mysql a questão é essa: geralmente no mysql executamos uma consulta sem usar cursor, no oracle é obrigatório o uso de cursor para dar saida em uma consulta. Sendo assim já q a exeucução é imediata assim q coloco o select, como faço para montar um select (dependendo de várias condições) e depois excutar. Montar uma string e depois executar como comando como no oracle?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra começar nao existe "PL/MySQL" e a linguagem de procedures do MySQL eu acho meio fraca d+ o ideal seria você usar uma linguagem de programaçao pra fazer seu batch-bacalhau .

 

Porem entretanto todavia podemos te ajudar a traduzir as procedures especificas se você estiver em dificuldades...

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.