Ir para conteúdo
Fórum Script Brasil
  • 0

Procedures


Guest --Jeferson --

Pergunta

Guest --Jeferson --

olá a todos....

estou qurendo criar uma procedure que vai ensirir dados no banco.... minha duvida e referente a Transações (START TRANSACTION ).... minha procedure e + ou - assim:

CREATE PROCEDURE inserir()

START TRANSACTION

INSERT 01;

INSERT02;

INSERT03;

IF "der erro em alguns dos inserts "

ROLLBACK;

ELSE

COMMIT;

o que eu realmente preciso e saber se existe uma funçao q possa me dizer se aconteceu algum erro em alguns dos inserts.... no SqlServer por exemplo tem uma função chamada @@ERROR que me retorna valor se alguma coisa acontreceu de errado, uso assim;

IF @@ERROR <> 0

ROLLBACK;

ELSE

COMMIT

a unica coisa que preciso é saber se existe uma função que faça isso pra mim ou alguma maneira de me informar que deu erro.... resumindo eu não posso efetuar apenas alguns dos inserts ou eu faço todos ou nenhum...

espero ter sido claro... agradeço desde já pela ajuda...

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Guest --Jeferson --

bom Consegui achar ama forma de resolver meu problema olha so que eu fiz:

create procedure teste()

begin

declare exit handler for sqlexception

rollback;

start transaction;

insert into empresa (nome) values ("GG");

insert into pessoas (nome,empresa,salario)value("jose",50,100);

commit;

end;

porem achei outro problema... agora ele não da mais erro ou seja se der erro ele num faz nd (esta certo), mas eu quero que ele mostre o erro q ocorreu... masi uma vez comparando com SQLSERVER tem uma função chamada RAISERROR .... que retorna o erro... usaria assim RAISERROR("meu erro",10,1)....

dai queria fazer algo semelhante na parte

declare exit handler for sqlexception

begin

"alguma coisa q me daria qual foi o erro q aconteceu"

rollback;

end;

alguém poderia me ajudar... se alguém conhece uma forma de fazer aparecer o erro...

agradeço a todos

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...