Ir ao conteúdo
  • Cadastre-se
Matheuskzt

Duvida Triggers e Procedures SQL SERVER

Recommended Posts

Olá galera estou desenvolvendo um Banco de Dados no SQl server e preciso de ajuda para eloborar trigger e minhas procedures.
Meu BD é de um jogo e só salvara imagens do jogo, e pontuações e nome do jogador.
Vou precisar de uma procedure para inserir os dados do jogador e as imagens, e triggers para atualizar os recordes caso alguém faça uma pontuação superior a outro jogador que ficara disponivel na tabela recordes.

 

porém algo me diz que estou fazendo errado não tenho expericiencia.

//trigger que substituirá a pontuação do jogador nos melhores recordesCREATE TRIGGER PONTUACAOON RecordesFOR INSERTASBEGIN    DECLARE    @pontuacao    nchar(10),    @nome        nchar(10),    @ID          INT    SELECT @ID = ID, @pontuacao = pontuacao FROM INSERTED    UPDATE Recordes SET pontuacao = pontuacao + @pontuacao    WHERE ID = @IDENDGO

 

//triger que substituirá o nome do jogador nos melhores recordesCREATE TRIGGER NOMEON RecordesFOR INSERTASBEGIN    DECLARE    @pontuacao    nchar(10),    @nome        nchar(10),    @ID          INT    SELECT @ID = ID, @nome = nome FROM INSERTED    UPDATE Recordes SET nome = nome + @nome    WHERE ID = @IDENDGO
// procedure que passará os dados do jogador na tabelá recordesCREATE PROCEDURE Dados_Recordes        @pontuacao    nchar(10),    @nome        nchar(10),    @ID           intASBEGIN    INSERT INTO Recordes    (        pontuacao,        nome,            ID    )              VALUES    (        @pontuacao    nchar(10),        @nome        nchar(10),        @ID            INT    )
//procedure que passará os dados do jogador na tabela do jogadorCREATE PROCEDURE Dados_Jogador        @pontuacao    nchar(10),    @nome        nchar(10),ASBEGIN    INSERT INTO Recordes    (        pontuacao,        nome_jogador,                )              VALUES    (        @pontuacao    nchar(10),        @nome_jogador    nchar(10),    )
//procedure que irá passar o img list para o banco de dadosCREATE PROCEDURE Imagens_cartas        @cartas IMAGE,ASBEGIN    INSERT INTO Cartas    (        cartas    )              VALUES    (        @cartas    )END

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não deu pra entender direito o que você está fazendo...

 

Quando alguém termina a partida, você insere na tabela Recordes ou só insere na tabela Recordes quando fica em primeiro?

 

Lembrando... As triggers só execução quanto tem alguma manipulação de dados em uma certa tabela, ou seja, insert, update, delet. E as procedure para rodar, precisa ser chamada, quando o cara termina a partida, a procedure vai ser chamada?

 

Se você não conhece os conceitos básicos, recomendo começar com algo mais simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

storage procedure, é procedimento armazenados, foi criado para ajudar no desempenho do Banco de dados, mas tem que ter cuidado para utilizar, pois ser utilizar muito vai consumir mais memoria gerando paginação o que não é bom para o SGBD.

 

sempre quando uma query é executada ele é primeiramente verificado pelo SGBD para verificar sem tem erro de sintaxe, depois ele é armazenado em cache onde quando pela segunda vez ele não é verificado o sintaxe sendo mais rápido a consulta.

 

O exemplo abaixo o select vai ser verificado e armazenado EM CACHE as 4 vezes 

 

select * from entrega.destinatario

where tag=0001

 

select * from entrega.destinatario

where tag=0002

 

select * from entrega.destinatario

where tag=0003

 

select * from entrega.destinatario

where tag=0004

 

********criando procedure****************

create as procedure  SP_SEL_Dest_Tag @Tag int

as

 

select * from entrega.destinatario

where tag=@Tag

 

 

na consulta abaixo ele é armazenado em cache apenas uma vez 

*********executando**********

EXEC SP_SEL_Dest_Tag 0001;
GO

 

EXEC SP_SEL_Dest_Tag 0002;
GO

 

EXEC SP_SEL_Dest_Tag 0003;
GO

 

EXEC SP_SEL_Dest_Tag 0004;
GO

 

 

****É LOGICO QUE O STOAGE PROCEDURE TEM OUTRAS MUITAS UTILIDADES VALE a pena ESTUDAR SOBRE O MESMO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×