Welcome to Sign in | Help
in Search

Triggere tabele derivate

Last post 05-19-2006, 11:12 AM by r_trufin. 2 replies.
Sort Posts: Previous Next
  •  05-17-2006, 12:56 PM 47

    Triggere tabele derivate

    Am si eu o problema .

    Avem achizitionat un soft pe motor sqlserver2000, pe care incerc sa-l mai imbunatatesc cu ceva situatii auxiliare.

    Pentru asta am nevoie de unele tabele derivate (de dimensiuni mici), care sa se updateze automat la inserare, stergere sau modificare a campurilor din tabela parinte. Ca exemplu am pus doua tabele poz_in_doc si inf_poz_in_doc :

    CREATE TABLE [Poz_in_doc] (
     [numar_doc] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
     [cod] [char] (13) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
     [data_doc] [datetime] NOT NULL ,
     [cant] [real] NOT NULL
    ) ON [PRIMARY]
    GO


    CREATE TABLE [Inf_poz_in_doc] (
     [numar_doc] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
     [cod] [char] (13) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
     [data_doc] [datetime] NOT NULL ,
     [schimb] [int] NULL ,
     [sectie] [int] NULL ,
     [termen_limita] [datetime] NULL ,
     [cant] [real] NOT NULL
    ) ON [PRIMARY]
    GO

    nu stiu *** sa fac trigger pt inf_poz_in_doc sa se creeze, stearga sau modifice campurile numar_doc,cod,data_doc,cant

     

    mersi

  •  05-19-2006, 10:38 AM 48 in reply to 47

    Re: Triggere tabele derivate

    Puteti da o situatia concreta ?

    Ma refer la date si operatiune!


    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
  •  05-19-2006, 11:12 AM 49 in reply to 48

    Re: Triggere tabele derivate

    hai ca trec mai la concret. am facut o tabela :

    CREATE TABLE [FlcKubo] (
     [Freezer] [int] NULL ,
     [Sarja] [int] NULL ,
     [Data_lim] [datetime] NULL ,
     [Cant_propusa] [int] NULL ,
     [Cant_rest] [int] NULL ,
     [rowguide] [uniqueidentifier] NOT NULL ,
     CONSTRAINT [FK_FlcKubo_pozdoc] FOREIGN KEY
     (
      [rowguide]
     ) REFERENCES [pozdoc] (
      [rowguid]
     ) ON DELETE CASCADE  ON UPDATE CASCADE
    ) ON [PRIMARY]
    GO
    deci am legat prin campul rowguide la campul rowguid dintr-o tabela pozdoc
    in conditiile astea mie imi populeaza tabela cea noua cu toate modificarile din pozdoc, numai ca eu as vrea sa se intample treaba asta numai pentru pozdoc.tip='PP'
     
    deci de fapt vreau o tabela in care , cand se adauga in pozdoc o predare, sa am :
     
    insert into flckubo
    select 0,0,data,0,0,rowguid from pozdoc where tip='PP'
     
    iar daca ulterior linia din pozdoc s-a sters, deletul sa se propage si in flckubo :
     
    delete from flckubo
    where rowguide not in (select rowguid from pozdoc where pozdoc.tip='PP' )
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems