Page History
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
CREATE TRIGGER [dbo].[B2B_U_TBLSTSABIT_PRICE]
ON [dbo].[TBLSTSABIT]
FOR UPDATE NOT FOR REPLICATION
AS
BEGIN
SET NOCOUNT ON
DECLARE @STOK_KODU varchar (35)
DECLARE @SATIS_FIAT1 decimal
DECLARE @OLD_STOK_KODU varchar (35)
DECLARE @OLD_SATIS_FIAT1 decimal
DECLARE CURSOR_I CURSOR FOR
SELECT
STOK_KODU ,SATIS_FIAT1
FROM INSERTED FOR READ ONLY
OPEN CURSOR_I
FETCH NEXT FROM CURSOR_I INTO
@STOK_KODU , @SATIS_FIAT1
DECLARE CURSOR_D CURSOR FOR
SELECT
STOK_KODU, SATIS_FIAT1
FROM DELETED FOR READ ONLY
OPEN CURSOR_D
FETCH NEXT FROM CURSOR_D INTO
@OLD_STOK_KODU , @OLD_SATIS_FIAT1
WHILE @@FETCH_STATUS <> -1
BEGIN
IF (@STOK_KODU IS NOT NULL)
BEGIN
IF ((ISNULL(@SATIS_FIAT1, '') <> ISNULL(@OLD_SATIS_FIAT1, '')))
BEGIN
UPDATE PRT_BASKETITEM SET STATUS = 0
WHERE ID IN (
SELECT BI.ID FROM PRT_BASKETITEM BI (NOLOCK)
JOIN PRT_BASKET B (NOLOCK) ON B.ID = BI.BASKET_ID AND B.STATUS = 1
WHERE BI.STOCK_CODE = @STOK_KODU
)
UPDATE PRT_BASKET SET NEEDS_RECALCULATION=1, PRICE_EDIT_STATUS=0
WHERE ID IN (
SELECT B.ID FROM PRT_BASKETITEM BI (NOLOCK)
JOIN PRT_BASKET B (NOLOCK) ON B.ID = BI.BASKET_ID AND B.STATUS = 1
WHERE BI.STOCK_CODE = @STOK_KODU
)
END
END
FETCH NEXT FROM CURSOR_I INTO
@STOK_KODU, @SATIS_FIAT1
FETCH NEXT FROM CURSOR_D INTO
@STOK_KODU , @SATIS_FIAT1
END
CLOSE CURSOR_I
CLOSE CURSOR_D
DEALLOCATE CURSOR_I
DEALLOCATE CURSOR_D
SET NOCOUNT OFF
END
|
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
USE [msdb] GO /* Not: DATABASE ismi için B2BTEST olan yerlere ilgili veritabanı yazılmalıdır. */ /****** Object: Job [Her Sabah - Bekleyen Sepetlerdeki Ürünlerin Fiyat Güncellemesi Alabilmesi Sağlanır] Script Date: 28.06.2018 15:46:06 ******/ BEGIN TRANSACTION DECLARE @ReturnCode INT SELECT @ReturnCode = 0 /****** Object: JobCategory [[Uncategorized (Local)]] Script Date: 28.06.2018 15:46:06 ******/ IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1) BEGIN EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback END DECLARE @jobId BINARY(16) EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'Her Sabah - Bekleyen Sepetlerdeki Ürünlerin Fiyat Güncellemesi Alabilmesi Sağlanır', @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @description=N'PRT_BASKET ve PRT_BASKETITEM için STATUS ve NEEDS_RECALCULATION alanları varsayılana çekilerek, fiyat güncellemelerinin bekleyen sepetteki ürünler için de alınmasını sağlayan günlük güncellemedir. Not: Plasiyer vb tarafından girilmiş iskontolar vb değişiklikler de ezilerek tekrar hesaplama yapar.', @category_name=N'[Uncategorized (Local)]', @owner_login_name=N'sa', @job_id = @jobId OUTPUT IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback /****** Object: Step [PRT_BASKET Update] Script Date: 28.06.2018 15:46:06 ******/ EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'PRT_BASKET Update', @step_id=1, @cmdexec_success_code=0, @on_success_action=3, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'TSQL', @command=N'UPDATE PRT_BASKET SET NEEDS_RECALCULATION=1, PRICE_EDIT_STATUS=0 where STATUS = 1', @database_name=N'B2BTEST', @flags=0 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback /****** Object: Step [PRT_BASKETITEM Update] Script Date: 28.06.2018 15:46:06 ******/ EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'PRT_BASKETITEM Update', @step_id=2, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'TSQL', @command=N'UPDATE PRT_BASKETITEM SET STATUS = 0 WHERE ID IN ( SELECT BI.ID FROM PRT_BASKETITEM BI (NOLOCK) JOIN PRT_BASKET B (NOLOCK) ON B.ID = BI.BASKET_ID WHERE B.STATUS = 1 )', @database_name=N'B2BTEST', @flags=0 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'HerSabah05:00', @enabled=1, @freq_type=4, @freq_interval=1, @freq_subday_type=1, @freq_subday_interval=0, @freq_relative_interval=0, @freq_recurrence_factor=0, @active_start_date=20180628, @active_end_date=99991231, @active_start_time=50000, @active_end_time=235959, @schedule_uid=N'a99ef6dd-20ff-4dd4-b19a-f33d16620195' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback COMMIT TRANSACTION GOTO EndSave QuitWithRollback: IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION EndSave: GO |
Viewtracker |
---|