Postări

Se afișează postări din februarie, 2012

DeLa - PanaLa

Imagine
Recent a trebuit sa implementez un sistem in care sa am istoric al diferitelor inregistrari. Spre exemplu persoanele isi pot schimba totul mai putin CNP, Data Nasterii; astfel a trebuit sa creez o procedura care sa se ocupe de un camp din tabela mea istoric si anume campul PanaLa(date). Structura istoricului ar arata astfel: ID | FK | ...... | DeLa | PanaLa Ce trebuie sa se intample in acest trigger? Parcurg inregistrare cu inregistrare si incepand cu a II-a inregistrare inlocuiesc recurent PanaLa al inregistrarii anterioare cu DeLa -1(o zi) al inregistrarii actuale, iar la sfarsit dupa ce ies din bucla am grija sa pun la ultima inregistrare PanaLa gen 01.01.3000 o data din viitor. Iata procedura aceasta primeste ca parametru NumeleTabelei, Denumirea campului FK dupa care filtreaza datele si bine inteles ID-ul campului SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[alex_Manage_DeLa_PanaLa] @TableName nvarchar(max), @ForeignKeyName nvarchar(max), @ForeignKey