I created this trigger but I get an error
Invalid object name 'dbo.informacao'
I had another trigger that I deleted but it had a different name. What can the problem? The query compiled without errors so I am assuming I did nothing wrong
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[informacao]
ON [dbo].[FolhaAuxiliar]
AFTER INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @codOperacao int, @codFuncionario int,
@codEquipamento int, @dataInicio datetime,
@dataFim datetime, @produto int, @folha int,
@quantP int, @quantD int, @setorFuncionario int
SELECT
@codOperacao = i.CodOperação,
@codFuncionario = i.CodFuncionário,
@codEquipamento = i.CodEquipamento,
@dataInicio = i.DataInicio,
@dataFim = i.DataFim,
@produto = i.Produto,
@folha = i.Folha,
@quantP = i.qntdproduzida,
@quantD = i.qntddesperdiçada
FROM
inserted i
SELECT @setorFuncionario = f.Setor
FROM Funcionário f
WHERE f.CodFuncionario = @codFuncionario
IF (@setorFuncionario != 2)
BEGIN
RAISERROR('O funcionário não pertence ao setor das operações', 10,1);
ROLLBACK TRANSACTION;
RETURN;
END
ELSE IF(@codEquipamento IN (SELECT f.CodEquipamento FROM FolhaAuxiliar f WHERE DataFim IS NULL))
BEGIN
RAISERROR('O equipamento já está a ser utilizado', 10,1);
ROLLBACK TRANSACTION;
RETURN;
END
ELSE IF (@codFuncionario IN (SELECT f.CodFuncionário FROM FolhaAuxiliar f WHERE DataFim IS NULL))
BEGIN
RAISERROR('O funcionário já se encontra a realizar outra operação', 10,1);
ROLLBACK TRANSACTION;
RETURN;
END
ELSE
BEGIN
INSERT INTO [FolhaAuxiliar](CodOperação, CodFuncionário, CodEquipamento, DataInicio, Produto, Folha, qntdproduzida, qntddesperdiçada, DataFim)
SELECT
CodOperação, CodFuncionário, CodEquipamento, DataInicio,
Produto, Folha, qntdproduzida, qntddesperdiçada, DataFim
FROM
inserted
END
END
You cannot create two or more objects with the same name (schema included) in a DB. You can only alter an object if it's already been created first.
You can also use the following if unsure:
CREATE OR ALTER TRIGGER [dbo].[informacao]
...
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.