Ir ao conteúdo
  • Cadastre-se

Duvida Triggers e Procedures SQL SERVER


Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

  • 4 meses depois...

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.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

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.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...