bsd9
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Извините, не понял как поставить спойлер Есть триггер: Код: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER [dbo].[No19Sens] ON [dbo].[SYS_DEV_DirtyData] AFTER INSERT AS BEGIN SET NOCOUNT ON; update DD SET dd.[digit_sens_num]&=~POWER(2,19-1) FROM inserted as i inner join [dbo].[SYS_DEV_DirtyData] as dd on dd.id=i.id inner join [dbo].[No19Sens_devices] as No19 on No19.device_code=i.device_code END GO | И есть две таблички, собственно No19Sens_devices в которой он ищет нужную запись и SYS_DEV_DirtyData в которую идет вставка. Цель триггера, чтобы записи из таблицы No19Sens_devices попадали в SYS_DEV_DirtyData с измененными данными, в поле digit_sens_num. Проблема заключается в том, что для каких то записей это поле меняется, а для каких то нет, хотя обе записи есть в таблице No19Sens_devices. Я совершенно не знаю куда копать, надеюсь на помощь. Код этих таблиц на всякий случай Код: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[SYS_DEV_DirtyData]( [id] [int] IDENTITY(1,1) NOT NULL, [device_code] [varchar](16) NOT NULL, [tele_time] [datetime] NOT NULL, [server_time] [datetime] NOT NULL, [transfer_time] [datetime] NOT NULL, [long] [float] NULL, [lat] [float] NULL, [valid] [char](1) NULL, [speed] [smallint] NULL, [direction] [smallint] NULL, [height] [smallint] NULL, [digit_sens_num] [int] NULL, [analog_sens_num] [int] NULL, [analog_data] [float] NULL, [flags] [int] NULL, CONSTRAINT [PK_SYS_DEV_DeviceData] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'долгота' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_DEV_DirtyData', @level2type=N'COLUMN',@level2name=N'long' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'широта' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_DEV_DirtyData', @level2type=N'COLUMN',@level2name=N'lat' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'скорость' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_DEV_DirtyData', @level2type=N'COLUMN',@level2name=N'speed' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'направление' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_DEV_DirtyData', @level2type=N'COLUMN',@level2name=N'direction' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'высота над уровнем моря' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_DEV_DirtyData', @level2type=N'COLUMN',@level2name=N'height' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'номер цыфрового датчика' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_DEV_DirtyData', @level2type=N'COLUMN',@level2name=N'digit_sens_num' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'номер аналогового датчика' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_DEV_DirtyData', @level2type=N'COLUMN',@level2name=N'analog_sens_num' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'данные аналогового датчика' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_DEV_DirtyData', @level2type=N'COLUMN',@level2name=N'analog_data' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Таблица данных от приборов' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_DEV_DirtyData' GO | Код: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[No19Sens_devices]( [id] [int] IDENTITY(1,1) NOT NULL, [device_code] [varchar](16) NOT NULL, CONSTRAINT [PK_No19Sens_devices] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO | | Всего записей: 29 | Зарегистр. 06-08-2014 | Отправлено: 18:23 27-12-2014 | Исправлено: bsd9, 18:28 27-12-2014 |
|