Cadu0220 Postado Fevereiro 27, 2008 Denunciar Share Postado Fevereiro 27, 2008 E ai pessoal, sou novo cadastrado aqui do forum mas já passei muito por aqui pra pegar umas dicas! hahaentão, estou com o seguinte problemao e não consigo resolver:eu tenho esse codigo de criação de um procedure:CREATE PROCEDURE jclgraf_SelectRequisicao( IN id_requisicao int)BEGINdeclare trabalhos int;declare itens int;set @trabalhos = (SELECT COUNT(id_trabalho) FROM trabalhos WHERE id_requisicao = @id_requisicao);set @itens = (SELECT COUNT(id_item) FROM itens WHERE id_requisicao = @id_requisicao);SELECT R.titulo ,R.produto ,E.razao_social ,Contato.nome nome_contato ,Contato.email email_contato ,Vendedor.nome nome_vendedor ,Vendedor.email email_vendedor ,R.observacoes ,CASE R.status WHEN 1 THEN 'Criada' WHEN 2 THEN 'Aguardando Orçamento' WHEN 3 THEN 'Aguardando Aprovação' WHEN 4 THEN 'Em produção' WHEN 5 THEN 'Finalizada' ELSE 'Cancelada' END CASE ,R.data_cadastro ,P.id_pedido ,@trabalhos trabalhos ,@itens itens ,F.id_faturamento ,F.emissao_nota_fornecedor ,F.vencimento_nota_fornecedor ,F.numero_nota_fornecedor ,F.vencimento_nota_jcl ,F.numero_nota_jcl ,((O.bv_jcl - (O.bv_agencia + O.bv_producao)) / 100) * T.preco_total comissao FROM requisicoes R LEFT OUTER JOIN pedidos P ON (R.id_requisicao = P.id_requisicao) LEFT OUTER JOIN faturamentos F ON (R.id_requisicao = F.id_requisicao) LEFT OUTER JOIN trabalhos T ON (R.id_requisicao = T.id_requisicao AND T.status = 4) LEFT OUTER JOIN orcamentos O ON (O.id_orcamento = T.id_orcamento) ,empresas E ,contatos Vendedor ,contatos ContatoWHERE R.id_requisicao = @id_requisicao AND E.id_empresa = R.id_empresa AND Contato.id_contato = R.id_contato AND Vendedor.id_contato = R.id_vendedor;END;so que quando eu executo, ele joga o seguinte erro:You have error in your SQL syntax .... near 'CASE ,R.data_cadastro ,P.id_pedido ,@trabalhos tre tambem tenho este caso:CREATE PROCEDURE jclgraf_SelectToPropostaEmail( IN id_requisicao int, IN opcao_consulta int)BEGINIF (@opcao_consulta = 1) THEN{ SELECT R.titulo ,R.produto ,R.observacoes ,C.email FROM requisicoes R, contatos C WHERE R.id_requisicao = @id_requisicao AND C.id_contato = R.id_contato;}ELSE IF (@opcao_consulta = 2) THEN{ SELECT descricao ,largura_aberto ,altura_aberto ,largura_fechado ,altura_fechado ,cores_frente ,cores_verso ,substratos ,acabamentos FROM itens WHERE id_requisicao = @id_requisicao;}ELSE{ SELECT O.quantidade ,E.razao_social ,T.id_trabalho ,T.proposta ,T.preco_unitario ,T.preco_total FROM trabalhos T, orcamentos O, empresas E WHERE T.id_requisicao = @id_requisicao AND T.id_orcamento = O.id_orcamento AND E.id_empresa = T.id_empresa;} END IF; END;onde ele fala que a syntax esta errado na ultima linha, a do 'END;'alguém sabe o que pode ser esses erros, ou como eu resolvo? muitissimo obrigado galera, abraços!Att,Cadu. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Fevereiro 27, 2008 Denunciar Share Postado Fevereiro 27, 2008 Oi, Cadu!Para o primeiro erro, observe o que diz o manual do mysql (versão 4.1 traduzido para o português). Observe que não há end case.O end case é usado somente na sintaxe de case dentro do controle de fluxo (de programação) em stored procedures e funções.“6.3.1.4. Funções de Fluxo de Controle•CASE valor WHEN [valor comparado]THEN resultado [WHEN [valor comparado] THEN resultado ...] [ELSE resultado] END, CASE WHEN [condição] THEN result [WHEN [condição] THEN resultado ...] [ELSE resultado] ENDA primeira expressão retorna o resultado onde valor=valor comparado. A segunda expressão retorna o o resultado da primeira condição, a qual é verdadeira. Se não existe nenhum resultado correspondente, então o resultado depois do ELSE é retornado. Se não existe parte ELSE então é retornado NULL is returned:mysql> SELECT CASE 1 WHEN 1 THEN "um" WHEN 2 THEN "dois" ELSE "mais" END;-> "one"mysql> SELECT CASE WHEN 1>0 THEN "verdadeiro" ELSE "falso" END;-> "true"mysql> SELECT CASE BINARY "B" WHEN "a" THEN 1 WHEN "b" THEN 2 END;-> NULL”No segundo erro, você colocou {} como separador de blocos de controle, quando o correto é usar begin end. Finalizando o end com ‘;’ (ponto e vírgula).11.1.4. BEGIN ... END Compound Statement[begin_label:]BEGINstatement(s)END [end_label]As rotinas armazenadas podem conter várias instruções, usando um instrução BEGIN ... END.begin_label e end_label devem ser os mesmos, se ambos forem especificados.Notem que a cláusula opcional [NOT] ATOMIC ainda não é suportada. Isto significa que nenhum savepoint de transação é definido no início do bloco da instrução e a cláusula BEGIN usada neste contexto não tem nenhum efeito no transação atual.Várias instruções exigem que um cliente tenha permissão para enviar strings de querys contendo ‘;’. Isto é tratado no cliente mysql e linha de comando com o comando delimiter. Alterando o delimitador ‘;’ do final da consulta (por exemplo, para ‘|’) permite que ‘;’ seja usado no corpo de uma rotina. Link para o comentário Compartilhar em outros sites More sharing options...
0 Cadu0220 Postado Fevereiro 27, 2008 Autor Denunciar Share Postado Fevereiro 27, 2008 Olá Denis, obrigado por me ajudar!mas mesmo com as mudanças continua dando erro,na procedure do Case, a regiao do codigo em questao ficou assim com as mudanças:,Vendedor.email email_vendedor ,R.observacoes ,CASE R.status WHEN 1 THEN 'Criada' WHEN 2 THEN 'Aguardando Orçamento' WHEN 3 THEN 'Aguardando Aprovação' WHEN 4 THEN 'Em produção' WHEN 5 THEN 'Finalizada' ELSE 'Cancelada' ,R.data_cadastro ,P.id_pedido ,@trabalhos trabalhosso que continua dando erro, o erro agora ele fala que é "near 'R.data_cadastro, P.id_pedido, @trabalhos tra'"e o codigo do if, eu fiz as mudanças mas mesmo assim continua dando o mesmo erro!!o codigo ficou assim:CREATE PROCEDURE jclgraf_SelectToPropostaEmail( IN id_requisicao int, IN opcao_consulta int)BEGINIF (@opcao_consulta = 1) THENBEGIN SELECT R.titulo ,R.produto ,R.observacoes ,C.email FROM requisicoes R, contatos C WHERE R.id_requisicao = @id_requisicao AND C.id_contato = R.id_contato;END;ELSE IF (@opcao_consulta = 2) THENBEGIN SELECT descricao ,largura_aberto ,altura_aberto ,largura_fechado ,altura_fechado ,cores_frente ,cores_verso ,substratos ,acabamentos FROM itens WHERE id_requisicao = @id_requisicao;END;ELSEBEGIN SELECT O.quantidade ,E.razao_social ,T.id_trabalho ,T.proposta ,T.preco_unitario ,T.preco_total FROM trabalhos T, orcamentos O, empresas E WHERE T.id_requisicao = @id_requisicao AND T.id_orcamento = O.id_orcamento AND E.id_empresa = T.id_empresa; END; END;não sei mais o que eu faço com essas procedures, to ficando loco!!! obrigado por tudo, abraços!att,Cadu. Link para o comentário Compartilhar em outros sites More sharing options...
0 Cadu0220 Postado Fevereiro 28, 2008 Autor Denunciar Share Postado Fevereiro 28, 2008 eu to a 1 semana travado nisso, já tentei de tudo, não faço a minima do que seja!!se alguém souber, ficarei muuuuito grato pessoal!obg por td, abraços!!att, Cadu. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Fevereiro 28, 2008 Denunciar Share Postado Fevereiro 28, 2008 Cadu veja este trecho de códigoCASE R.status WHEN 1 THEN 'Criada' WHEN 2 THEN 'Aguardando Orçamento' WHEN 3 THEN 'Aguardando Aprovação' WHEN 4 THEN 'Em produção' WHEN 5 THEN 'Finalizada' ELSE 'Cancelada' Agora veja este: ,Vendedor.email email_vendedor Notou o que está faltando? Já tentou colocar um ALIAS após o ELSE 'Cancelada'? No segundo erro não está faltando um END IF; após o END IF e antes do END? Tente desta forma: CREATE PROCEDURE jclgraf_SelectToPropostaEmail (IN id_requisicao int, IN opcao_consulta int) BEGIN IF (@opcao_consulta = 1) THEN SELECT R.titulo ,R.produto ,R.observacoes ,C.email FROM requisicoes R, contatos C WHERE R.id_requisicao = @id_requisicao AND C.id_contato = R.id_contato; ELSE IF (@opcao_consulta = 2) THEN SELECT descricao ,largura_aberto ,altura_aberto ,largura_fechado ,altura_fechado ,cores_frente ,cores_verso ,substratos ,acabamentos FROM itens WHERE id_requisicao = @id_requisicao; ELSE SELECT O.quantidade ,E.razao_social ,T.id_trabalho ,T.proposta ,T.preco_unitario ,T.preco_total FROM trabalhos T, orcamentos O, empresas E WHERE T.id_requisicao = @id_requisicao AND T.id_orcamento = O.id_orcamento AND E.id_empresa = T.id_empresa; END IF; END IF; END; Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 28, 2008 Denunciar Share Postado Fevereiro 28, 2008 permitam-me um pitaco aqui...(...) eu tenho esse codigo de criação de um procedure:CREATE PROCEDURE jclgraf_SelectRequisicao( IN id_requisicao int)BEGIN ... ,R.observacoes ,CASE R.status WHEN 1 THEN 'Criada' WHEN 2 THEN 'Aguardando Orçamento' WHEN 3 THEN 'Aguardando Aprovação' WHEN 4 THEN 'Em produção' WHEN 5 THEN 'Finalizada' ELSE 'Cancelada' END CASE ,R.data_cadastro ...END...Cadu0220, a mensagem: "You have error in your SQL syntax .... near 'CASE", se refere àquele CASE após o END.mas mesmo com as mudanças continua dando erro,na procedure do Case, a regiao do codigo em questao ficou assim com as mudanças:,Vendedor.email email_vendedor ,R.observacoes ,CASE R.status WHEN 1 THEN 'Criada' WHEN 2 THEN 'Aguardando Orçamento' WHEN 3 THEN 'Aguardando Aprovação' WHEN 4 THEN 'Em produção' WHEN 5 THEN 'Finalizada' ELSE 'Cancelada' ,R.data_cadastro ,P.id_pedido ,@trabalhos trabalhosso que continua dando erro, o erro agora ele fala que é "near 'R.data_cadastro, P.id_pedido, @trabalhos tra'"aqui, você retirou tudo, motivo da nova mensagem de erro. Você deve manter apenas o END. A sintax seria, grosseiramente:CASE <campo> WHEN <valor> THEN <resultado> ... WHEN <valor> THEN <resultado> ELSE <resultado> END [AS <nome_coluna>]Voce pode usar o alias como sugeriu o colega Denis Courcy, pois dará um nome legível e mais significativo a coluna criada com o uso do case.Abraços Link para o comentário Compartilhar em outros sites More sharing options...
0 Cadu0220 Postado Fevereiro 29, 2008 Autor Denunciar Share Postado Fevereiro 29, 2008 E ai pessoal, obrgiado mesmo pela ajuda!e funcionou!!!a do if-then-else funcionou perfeitamente, agora, a do case continua dando o MESMO erro!!!!!o codigo ficou assim:CREATE PROCEDURE jclgraf_SelectRequisicao( IN id_requisicao int)BEGINdeclare trabalhos int;declare itens int;set @trabalhos = (SELECT COUNT(id_trabalho) FROM trabalhos WHERE id_requisicao = @id_requisicao);set @itens = (SELECT COUNT(id_item) FROM itens WHERE id_requisicao = @id_requisicao);SELECT R.titulo ,R.produto ,E.razao_social ,Contato.nome nome_contato ,Contato.email email_contato ,Vendedor.nome nome_vendedor ,Vendedor.email email_vendedor ,R.observacoes ,CASE R.status WHEN 1 THEN 'Criada' WHEN 2 THEN 'Aguardando Orçamento' WHEN 3 THEN 'Aguardando Aprovação' WHEN 4 THEN 'Em produção' WHEN 5 THEN 'Finalizada' ELSE 'Cancelada' END ,R.data_cadastro ,P.id_pedido ,@trabalhos trabalhos ,@itens itens ,F.id_faturamento ,F.emissao_nota_fornecedor ,F.vencimento_nota_fornecedor ,F.numero_nota_fornecedor ,F.vencimento_nota_jcl ,F.numero_nota_jcl ,((O.bv_jcl - (O.bv_agencia + O.bv_producao)) / 100) * T.preco_total comissao FROM requisicoes R LEFT OUTER JOIN pedidos P ON (R.id_requisicao = P.id_requisicao) LEFT OUTER JOIN faturamentos F ON (R.id_requisicao = F.id_requisicao) LEFT OUTER JOIN trabalhos T ON (R.id_requisicao = T.id_requisicao AND T.status = 4) LEFT OUTER JOIN orcamentos O ON (O.id_orcamento = T.id_orcamento) ,empresas E ,contatos Vendedor ,contatos ContatoWHERE R.id_requisicao = @id_requisicao AND E.id_empresa = R.id_empresa AND Contato.id_contato = R.id_contato AND Vendedor.id_contato = R.id_vendedor;END;e o erro continua sendo o mesmo, o que sera que é??? eu já tentei de tudo mesmo!!! abraços e muito obrigado mesmo pelas ajudas, e pode ter crtz que eu usarei e ajudarei os otros como eu estou sendo bem ajudado aqui no forum, obrigado pessoal!abraços, Cadu. Link para o comentário Compartilhar em outros sites More sharing options...
0 Cadu0220 Postado Março 3, 2008 Autor Denunciar Share Postado Março 3, 2008 esse problema continua dando mesmo se eu uso Decode, não funciona tambem!!isso que eu to axando estranho, não consigo de jeito nenhum fazer funcionar isso, e se eu tiro essa coluna do case funciona perfeitamente a procedure <_< obg pela ajuda pessoal!abraços!!! Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Março 4, 2008 Denunciar Share Postado Março 4, 2008 (...), agora, a do case continua dando o MESMO erro!!!!!...e o erro continua sendo o mesmo, o que sera que é??? eu já tentei de tudo mesmo!!!Cadu0220, parece estranho mesmo. Utilizando o MySQL Query Browser e MySQL v. 5.1.22, eu executo uma consulta fazendo uso de CASE sem qualquer problema.Qual a mensagem que você recebe agora, que não tem o END CASE (no 1º erro) e que colocou o END (do case, 2º erro) ?Abraços Link para o comentário Compartilhar em outros sites More sharing options...
0 Cadu0220 Postado Março 4, 2008 Autor Denunciar Share Postado Março 4, 2008 O erro que ele fala é: syntax error near 'R.data_cadastro, P.id_pedido, @trabalhos tra'tambem to achando muito estranho, de jeito nenhum funciona isso :( Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Março 5, 2008 Denunciar Share Postado Março 5, 2008 O erro que ele fala é: syntax error near 'R.data_cadastro, P.id_pedido, @trabalhos tra'tambem to achando muito estranho, de jeito nenhum funciona isso :(Experimentou a outra sintax:CASE WHEN R.status = 1 THEN 'Criada' WHEN R.status = 2 THEN 'Aguardando Orçamento' WHEN R.status = 3 THEN 'Aguardando Aprovação' WHEN R.status = 4 THEN 'Em produção' WHEN R.status = 5 THEN 'Finalizada' ELSE 'Cancelada' END Link para o comentário Compartilhar em outros sites More sharing options...
0 Cadu0220 Postado Março 5, 2008 Autor Denunciar Share Postado Março 5, 2008 dessa forma o front não deixa eu criar a procedure, o botao de OK fica desativado como se faltasse alguma coisa na procedure :mellow: o codigo fica assim desse jeito que você me falou:CREATE PROCEDURE jclgraf_SelectRequisicao( IN id_requisicao int)BEGINdeclare trabalhos int;declare itens int;set @trabalhos = (SELECT COUNT(id_trabalho) FROM trabalhos WHERE id_requisicao = @id_requisicao);set @itens = (SELECT COUNT(id_item) FROM itens WHERE id_requisicao = @id_requisicao);SELECT R.titulo ,R.produto ,E.razao_social ,Contato.nome nome_contato ,Contato.email email_contato ,Vendedor.nome nome_vendedor ,Vendedor.email email_vendedor ,R.observacoes ,CASE WHEN R.status = 1 THEN 'Criada' WHEN R.status = 2 THEN 'Aguardando Orçamento' WHEN R.status = 3 THEN 'Aguardando Aprovação' WHEN R.status = 4 THEN 'Em produção' WHEN R.status = 5 THEN 'Finalizada' ELSE 'Cancelada' END ,R.data_cadastro ,P.id_pedido ,@trabalhos trabalhos ,@itens itens ,F.id_faturamento ,F.emissao_nota_fornecedor ,F.vencimento_nota_fornecedor ,F.numero_nota_fornecedor ,F.vencimento_nota_jcl ,F.numero_nota_jcl ,((O.bv_jcl - (O.bv_agencia + O.bv_producao)) / 100) * T.preco_total comissao FROM requisicoes R LEFT OUTER JOIN pedidos P ON (R.id_requisicao = P.id_requisicao) LEFT OUTER JOIN faturamentos F ON (R.id_requisicao = F.id_requisicao) LEFT OUTER JOIN trabalhos T ON (R.id_requisicao = T.id_requisicao AND T.status = 4) LEFT OUTER JOIN orcamentos O ON (O.id_orcamento = T.id_orcamento) ,empresas E ,contatos Vendedor ,contatos ContatoWHERE R.id_requisicao = @id_requisicao AND E.id_empresa = R.id_empresa AND Contato.id_contato = R.id_contato AND Vendedor.id_contato = R.id_vendedor;END; Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Março 6, 2008 Denunciar Share Postado Março 6, 2008 Oi, Cadu0220!Vamos resolver isso desta forma:CREATE PROCEDURE jclgraf_SelectRequisicao ( IN id_requisicao int ) BEGIN declare trabalhos int; declare itens int; set @trabalhos = (SELECT COUNT(id_trabalho) FROM trabalhos WHERE id_requisicao = @id_requisicao); set @itens = (SELECT COUNT(id_item) FROM itens WHERE id_requisicao = @id_requisicao); SELECT R.titulo ,R.produto ,E.razao_social ,Contato.nome nome_contato ,Contato.email email_contato ,Vendedor.nome nome_vendedor ,Vendedor.email email_vendedor ,R.observacoes ,IF(R.status = 1, 'Criada', IF(R.status = 2, 'Aguardando Orçamento', IF(R.status = 3, 'Aguardando Aprovação', IF(R.status = 4, 'Em produção', IF(R.status = 5 THEN 'Finalizada', 'Cancelada'))))) AS Status ,R.data_cadastro ,P.id_pedido ,@trabalhos trabalhos ,@itens itens ,F.id_faturamento ,F.emissao_nota_fornecedor ,F.vencimento_nota_fornecedor ,F.numero_nota_fornecedor ,F.vencimento_nota_jcl ,F.numero_nota_jcl ,((O.bv_jcl - (O.bv_agencia + O.bv_producao)) / 100) * T.preco_total comissao FROM requisicoes R LEFT OUTER JOIN pedidos P ON (R.id_requisicao = P.id_requisicao) LEFT OUTER JOIN faturamentos F ON (R.id_requisicao = F.id_requisicao) LEFT OUTER JOIN trabalhos T ON (R.id_requisicao = T.id_requisicao AND T.status = 4) LEFT OUTER JOIN orcamentos O ON (O.id_orcamento = T.id_orcamento) ,empresas E ,contatos Vendedor ,contatos Contato WHERE R.id_requisicao = @id_requisicao AND E.id_empresa = R.id_empresa AND Contato.id_contato = R.id_contato AND Vendedor.id_contato = R.id_vendedor; END; Instrução IF utilizadas em cláusulas SELECT conforme capítulo 6 do manual do MySQL versão 4.1 tradução em português 6.3.1.4. Funções de Fluxo de Controle mysql> SELECT IF(1>2,2,3); -> 3 mysql> SELECT IF(1<2,'sim','não'); -> 'sim' mysql> SELECT IF(STRCMP('teste','teste1'),'não','sim'); -> 'não' Link para o comentário Compartilhar em outros sites More sharing options...
0 Cadu0220 Postado Março 6, 2008 Autor Denunciar Share Postado Março 6, 2008 ALELUIA!!deu certa Denis, muuitissimo obrigado cara!voce me tirou duma p*** enrascada hahahaagora, é minha parte, sempre que der vou logar aqui e ajudar o pessoal,abraços,Cadu. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Cadu0220
E ai pessoal, sou novo cadastrado aqui do forum mas já passei muito por aqui pra pegar umas dicas! haha
então, estou com o seguinte problemao e não consigo resolver:
eu tenho esse codigo de criação de um procedure:
CREATE PROCEDURE jclgraf_SelectRequisicao
(
IN id_requisicao int
)
BEGIN
declare trabalhos int;
declare itens int;
set @trabalhos = (SELECT COUNT(id_trabalho) FROM trabalhos WHERE id_requisicao = @id_requisicao);
set @itens = (SELECT COUNT(id_item) FROM itens WHERE id_requisicao = @id_requisicao);
SELECT R.titulo
,R.produto
,E.razao_social
,Contato.nome nome_contato
,Contato.email email_contato
,Vendedor.nome nome_vendedor
,Vendedor.email email_vendedor
,R.observacoes
,CASE R.status
WHEN 1 THEN 'Criada'
WHEN 2 THEN 'Aguardando Orçamento'
WHEN 3 THEN 'Aguardando Aprovação'
WHEN 4 THEN 'Em produção'
WHEN 5 THEN 'Finalizada'
ELSE 'Cancelada' END CASE
,R.data_cadastro
,P.id_pedido
,@trabalhos trabalhos
,@itens itens
,F.id_faturamento
,F.emissao_nota_fornecedor
,F.vencimento_nota_fornecedor
,F.numero_nota_fornecedor
,F.vencimento_nota_jcl
,F.numero_nota_jcl
,((O.bv_jcl - (O.bv_agencia + O.bv_producao)) / 100) * T.preco_total comissao
FROM requisicoes R
LEFT OUTER JOIN pedidos P ON (R.id_requisicao = P.id_requisicao)
LEFT OUTER JOIN faturamentos F ON (R.id_requisicao = F.id_requisicao)
LEFT OUTER JOIN trabalhos T ON (R.id_requisicao = T.id_requisicao AND T.status = 4)
LEFT OUTER JOIN orcamentos O ON (O.id_orcamento = T.id_orcamento)
,empresas E
,contatos Vendedor
,contatos Contato
WHERE R.id_requisicao = @id_requisicao AND
E.id_empresa = R.id_empresa AND
Contato.id_contato = R.id_contato AND
Vendedor.id_contato = R.id_vendedor;
END;
so que quando eu executo, ele joga o seguinte erro:
You have error in your SQL syntax .... near 'CASE
,R.data_cadastro
,P.id_pedido
,@trabalhos tr
e tambem tenho este caso:
CREATE PROCEDURE jclgraf_SelectToPropostaEmail
(
IN id_requisicao int, IN opcao_consulta int
)
BEGIN
IF (@opcao_consulta = 1) THEN
{
SELECT R.titulo
,R.produto
,R.observacoes
,C.email
FROM requisicoes R, contatos C
WHERE R.id_requisicao = @id_requisicao AND C.id_contato = R.id_contato;
}
ELSE IF (@opcao_consulta = 2) THEN
{
SELECT descricao
,largura_aberto
,altura_aberto
,largura_fechado
,altura_fechado
,cores_frente
,cores_verso
,substratos
,acabamentos
FROM itens
WHERE id_requisicao = @id_requisicao;
}
ELSE
{
SELECT O.quantidade
,E.razao_social
,T.id_trabalho
,T.proposta
,T.preco_unitario
,T.preco_total
FROM trabalhos T, orcamentos O, empresas E
WHERE T.id_requisicao = @id_requisicao AND T.id_orcamento = O.id_orcamento AND E.id_empresa = T.id_empresa;
}
END IF;
END;
onde ele fala que a syntax esta errado na ultima linha, a do 'END;'
alguém sabe o que pode ser esses erros, ou como eu resolvo?
muitissimo obrigado galera, abraços!
Att,
Cadu.
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados