-1
SQL에서 테이블에 대한 코드를 볼 수 있습니다. 저장 프로 시저가 작동하지만 행이 정보로 채워지지 않습니다. 코드에 어떤 문제가 있습니까?INSERT 저장 프로 시저가 작동하지 않습니다.
CREATE TABLE Category_Master(
Category_ID INT IDENTITY(1,1) PRIMARY KEY,
Category_Name VARCHAR(50),
modification_Date DATETIME DEFAULT GETDATE()
)
Select * from Category_Master
Go
create trigger TRIGGER_MODIFDATE_Category_Master
on Category_Master
for insert, update
as begin
UPDATE Category_Master
SET modification_Date = GETDATE()
end
Go
CREATE PROCEDURE usp_InsertCategory_Master
@flag bit output,-- return 0 for fail,1 for success
@Category_ID int,
@Category_Name varchar(50)
AS
BEGIN
BEGIN TRANSACTION
BEGIN TRY
INSERT INTO Category_Master(Category_ID, Category_Name)
VALUES (@Category_ID, @Category_Name)
SET @flag = 1;
IF @@TRANCOUNT > 0
BEGIN
COMMIT TRANSACTION;
END
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END
SET @flag = 0;
END CATCH
END
Go
Declare @flag bit
EXEC usp_InsertCategory_Master @flag output, 1, 'Short LOAN'
EXEC usp_InsertCategory_Master @flag output, 2, 'Long LOAN'
if @flag=1
print 'Successfully inserted'
else
print 'There is some error'
트리거 나쁘다. 삽입하거나 업데이트 한 레코드뿐만 아니라 모든 레코드를 업데이트 할 것이다. 삽입 또는 업데이트로 인해 영향을받는 레코드 만 얻으려면 삽입 된 테이블에 조인해야합니다. – HLGEM