Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Fremdschlüssel einfügen

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von lengulins, 8 Mai 2012.

  1. lengulins

    lengulins Benutzer

    Hallo,
    folgendes Problem. Eine Anwendung basiert auf SQL Server 2008 und hat mir folgende Tabelle in der Datenbank erstellt:
    Code:
    /****** Object:  Table [dbo].[Ud_SVAssetChangeConnectionClassBase]    Script Date: 05/08/2012 09:30:31 ******/
    SET ANSI_NULLS ON
    GO
     
    SET QUOTED_IDENTIFIER ON
    GO
     
    SET ARITHABORT ON
    GO
     
    CREATE TABLE [dbo].[Ud_SVAssetChangeConnectionClassBase](
        [ID] [uniqueidentifier] ROWGUIDCOL  NOT NULL,
        [TimeStamp] [timestamp] NULL,
        [Ud_SVAssetChangeIST] [tinyint] NOT NULL,
        [Ud_SVAssetChangeSOLL] [tinyint] NOT NULL,
        [Ud_SVInventoryNumber] [nvarchar](100) NULL,
        [UsedInTypeUd_SVAssetChangeType] [uniqueidentifier] NULL,
        [Expression-ObjectID]  AS (case when [UsedInTypeUd_SVAssetChangeType] IS NOT NULL then [UsedInTypeUd_SVAssetChangeType]  end),
    CONSTRAINT [PK_6a7fd110-3c98-e111-b2b0-00505699001f] 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
     
    ALTER TABLE [dbo].[Ud_SVAssetChangeConnectionClassBase]  WITH CHECK ADD  CONSTRAINT [CO_Ud_SVAssetChangeTypeID_Ud_SVAssetChangeConnectionClassBaseUsedInTypeUd_SVAssetChangeType] FOREIGN KEY([UsedInTypeUd_SVAssetChangeType])
    REFERENCES [dbo].[Ud_SVAssetChangeType] ([ID])
    GO
     
    ALTER TABLE [dbo].[Ud_SVAssetChangeConnectionClassBase] CHECK CONSTRAINT [CO_Ud_SVAssetChangeTypeID_Ud_SVAssetChangeConnectionClassBaseUsedInTypeUd_SVAssetChangeType]
    GO
     
    ALTER TABLE [dbo].[Ud_SVAssetChangeConnectionClassBase] ADD  DEFAULT (newsequentialid()) FOR [ID]
    GO
     
    ALTER TABLE [dbo].[Ud_SVAssetChangeConnectionClassBase] ADD  DEFAULT ((0)) FOR [Ud_SVAssetChangeIST]
    GO
     
    ALTER TABLE [dbo].[Ud_SVAssetChangeConnectionClassBase] ADD  DEFAULT ((0)) FOR [Ud_SVAssetChangeSOLL]
    GO
    Ich wollte per Script Datensaetze eintragen. Leider stelle ich mich zu dumm an, den Primär- und den Fremdschlüssel in der Insertanweisung zu füllen. Kann mir jemand dabei helfen? Vielen Dank!
     
  2. ukulele

    ukulele Datenbank-Guru

    UNIQUEIDENTIFIER sind GUIDs in und können manuell eingetragen werden, müssen dann aber in Striche gesetzt werden:
    Code:
    INSERT INTO tabelle (pk,wert) VALUES ('511C7B85-854F-437D-BA5E-DBEB02420E4B','Text')
    Eine neue ID kannst du auch mit newid() erzeugen:
    Code:
    INSERT INTO tabelle (pk,wert) VALUES (newid(),'Text')
    Einen Fremdschlüssel musst du natürlich vorher ermitteln (also den PK der anderen Tabelle). Du kannst aber in einem Script auch eine Variable mit Typ UNIQUEIDENTIFIER deklarieren.
     
    PLSQL_SQL gefällt das.
  3. lengulins

    lengulins Benutzer

    Danke! Manchmal hilft ein kleiner Denkanstoss. Hat hervorragend funktioniert. :)
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden