我想创建一个存储过程来删除表中的一条记录。
我尝试了以下方法,但似乎不起作用:
Delimiter //
CREATE PROCEDURE BIRD_STRIKE_INCIDENT_DELETE @row text
AS
BEGIN
DELETE FORM bird_strike.incidents WHERE row_names = @row
END
delimiter ;
Call BIRD_STRIKE_INCIDENT_DELETE('11')
有人可以提供指针,我可能在这里做错了什么?
谢谢!
你的代码看起来更像SQL Server而不是MySql
应该是这样
Delimiter //
CREATE PROCEDURE BIRD_STRIKE_INCIDENT_DELETE (_row text)
BEGIN
DELETE FROM bird_strike.incidents WHERE row_names = _row;
END//
delimiter ;
您可以考虑这种方法。
IF EXISTS(SELECT 1 FROM sys.procedures
WHERE Name = 'BIRD_STRIKE_INCIDENT_DELETE')
BEGIN
DROP PROCEDURE dbo.BIRD_STRIKE_INCIDENT_DELETE;
END;
else
BEGIN
CREATE PROCEDURE BIRD_STRIKE_INCIDENT_DELETE (_row text)
BEGIN
DELETE FROM bird_strike.incidents WHERE row_names = _row;
END
END;