论坛首页 综合技术论坛

sqlserver触发器转换为postgresql

浏览 2765 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-06-24  
sqlserver中触发器语句如下,想转换为postgresql中的触发器语句,现在我瞅见转换语句我的头疼了,郁闷死了
我正在自己学习这个,但身边没有个个讨论,所以还是把原码放网上找个人一起商讨交流一下吧

IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'tri_DeviceStatus_insupd' AND type = 'TR')
DROP TRIGGER tri_DeviceStatus_insupd
GO
CREATE TRIGGER tri_DeviceStatus_insupd
ON DeviceStatus
FOR INSERT, UPDATE
AS
DECLARE @devID varchar(50),
@devStatus varchar(30),
@devMsg varchar(30),
@uID int
BEGIN
select @uID=UserID,@devID=DID,@devStatus=Status from inserted i
if @devID = 'security_Kitchen_SmokeAlarm'
begin
if(@devStatus = 'State=On')
select @devMsg='发生报警'
else
select @devMsg='停止报警'
insert into Message values(4,@uID,'烟雾报警器',@devMsg,getDate())
end
else if @devID = 'security_Balcony_Magnetic'
begin
if(@devStatus = 'State=On')
select @devMsg='发生报警'
else
select @devMsg='停止报警'
insert into Message values(4,@uID,'门磁感应',@devMsg,getDate())
end
else if @devID = 'security_Lobby_Move'
begin
if(@devStatus = 'State=On')
select @devMsg='发生报警'
else
select @devMsg='停止报警'
insert into Message values(4,@uID,'移动感应',@devMsg,getDate())
end
END

   发表时间:2012-06-26  
数据库移植向来是体力活 :(
0 请登录后投票
   发表时间:2012-06-27  
两者就是语法不一样吧
0 请登录后投票
   发表时间:2012-06-27  
恩,不一样,差别太大了,这个存储过程太复杂了点,无从下手
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics