HEEEELP - ERRO NA CRIAÇÃO DE TRIGGER
Olá!
Sou estudante e estou iniciando aprendizado em SQL Server.
Estou com problemas na criação de uma Trigger...
Quero que assim que seja feito o INSERT em uma tabela, altere o status de outra...
Segue o código das tabelas:
CREATE TABLE QUARTO(
COD_QUARTO TINYINT NOT NULL, --PRIMARY KEY
NUM_QUARTO VARCHAR(4) NOT NULL,
COD_TIPO_QUARTO TINYINT NOT NULL, --PRIMARY KEY/FOREIGN KEY
COD_PADRAO_QUARTO TINYINT NOT NULL, --PRIMARY KEY/FOREIGN KEY
DISPONIBILIDADE_SN CHAR(1) NOT NULL);
CREATE TABLE RESERVA(
COD_RESERVA INT NOT NULL, --PRIMARY KEY
NUM_PESSOA TINYINT NOT NULL,
DTA_ENTRADA DATE NOT NULL,
DTA_SAIDA DATE NOT NULL,
COD_FUNCIONARIO INT NOT NULL, --FOREIGN KEY
COD_HOSPEDE INT NOT NULL); --FOREIGN KEY
CREATE TABLE QUARTO_RESERVA(
COD_QUARTO TINYINT NOT NULL, --PRIMARY KEY/FOREIGN KEY
COD_RESERVA INT NOT NULL, --PRIMARY KEY/FOREIGN KEY
COD_TIPO_QUARTO TINYINT NOT NULL, --PRIMARY KEY/FOREIGN KEY
COD_PADRAO_QUARTO TINYINT NOT NULL); --PRIMARY KEY/FOREIGN KEY
Segue a trigger:
GO
CREATE TRIGGER TGR_QUARTO_AI
ON QUARTO_RESERVA
FOR INSERT
AS BEGIN
DECLARE
@DISPONIBILIDADE_SN CHAR(1),
@COD_QUARTO INT
SELECT @DISPONIBILIDADE_SN = DISPONIBILIDADE_SN, @COD_QUARTO = COD_QUARTO FROM INSERTED
UPDATE QUARTO SET DISPONIBILIDADE_SN = ''N''
WHERE COD_QUARTO = @COD_QUARTO
END
O erro retornado:
Msg 207, Nível 16, Estado 1, Procedimento TGR_QUARTO_AI, Linha 8 [Linha de Início do Lote 88]
Nome de coluna ''DISPONIBILIDADE_SN'' inválido.
Não estou conseguindo compreender o erro, alguém poderia ajudar?
Sou estudante e estou iniciando aprendizado em SQL Server.
Estou com problemas na criação de uma Trigger...
Quero que assim que seja feito o INSERT em uma tabela, altere o status de outra...
Segue o código das tabelas:
CREATE TABLE QUARTO(
COD_QUARTO TINYINT NOT NULL, --PRIMARY KEY
NUM_QUARTO VARCHAR(4) NOT NULL,
COD_TIPO_QUARTO TINYINT NOT NULL, --PRIMARY KEY/FOREIGN KEY
COD_PADRAO_QUARTO TINYINT NOT NULL, --PRIMARY KEY/FOREIGN KEY
DISPONIBILIDADE_SN CHAR(1) NOT NULL);
CREATE TABLE RESERVA(
COD_RESERVA INT NOT NULL, --PRIMARY KEY
NUM_PESSOA TINYINT NOT NULL,
DTA_ENTRADA DATE NOT NULL,
DTA_SAIDA DATE NOT NULL,
COD_FUNCIONARIO INT NOT NULL, --FOREIGN KEY
COD_HOSPEDE INT NOT NULL); --FOREIGN KEY
CREATE TABLE QUARTO_RESERVA(
COD_QUARTO TINYINT NOT NULL, --PRIMARY KEY/FOREIGN KEY
COD_RESERVA INT NOT NULL, --PRIMARY KEY/FOREIGN KEY
COD_TIPO_QUARTO TINYINT NOT NULL, --PRIMARY KEY/FOREIGN KEY
COD_PADRAO_QUARTO TINYINT NOT NULL); --PRIMARY KEY/FOREIGN KEY
Segue a trigger:
GO
CREATE TRIGGER TGR_QUARTO_AI
ON QUARTO_RESERVA
FOR INSERT
AS BEGIN
DECLARE
@DISPONIBILIDADE_SN CHAR(1),
@COD_QUARTO INT
SELECT @DISPONIBILIDADE_SN = DISPONIBILIDADE_SN, @COD_QUARTO = COD_QUARTO FROM INSERTED
UPDATE QUARTO SET DISPONIBILIDADE_SN = ''N''
WHERE COD_QUARTO = @COD_QUARTO
END
O erro retornado:
Msg 207, Nível 16, Estado 1, Procedimento TGR_QUARTO_AI, Linha 8 [Linha de Início do Lote 88]
Nome de coluna ''DISPONIBILIDADE_SN'' inválido.
Não estou conseguindo compreender o erro, alguém poderia ajudar?
Fernando Araujo
Curtidas 0
Melhor post
Fabiano Carvalho
31/10/2018
O erro informa que a coluna DISPONIBILIDADE_SN nao existe na tabela.
Olhando seu código a tabela QUARTO_RESERVA não possui a coluna;
Para conhecimento, a tabela inserted é uma copia da tabela que voce está inserindo.
Olhando seu código a tabela QUARTO_RESERVA não possui a coluna;
Para conhecimento, a tabela inserted é uma copia da tabela que voce está inserindo.
GOSTEI 1