Come aggiungere una colonna di tipo uniqueidentifier e inserire i valori

Possibile qualsiasi organismo, per favore, dammi un po ‘ di idee qui. Ho un enorme tavolo con 189999 righe. Ho bisogno di selezionare solo i valori medi di esso. Come posso fare. Ho aggiunto identificatore univoco colonna. Come faccio a inserire i valori in esso. Si prega di suggerire. vorrei davvero apprezzare il vostro aiuto.
Ho accettato le risposte non. Non sapevo come farlo prima.
Grazie a tutti

  • puoi condividere la tua struttura della tabella?
  • E per favore aggiungi la tua struttura di tabella alla tua domanda originale con la modifica e la formattazione del codice bene! Nei commenti, è davvero difficile da leggere!
InformationsquelleAutor user70636 | 2009-11-12



2 Replies
  1. 36

    Questo dovrebbe funzionare bene.

    UPDATE table
    SET UniqueIdentifierColumn = NEWID()
    WHERE ...

    Notare che facendo l’aggiornamento in un unico set a base di istruzione popola ogni riga con un GUID diverso.

    Codice Di Esempio

    CREATE TABLE dbo.HugeTable (
        ColID       int     IDENTITY    PRIMARY KEY,
        ColGUID     uniqueidentifier,
        ColInt      int
    )
    
    DECLARE @ct     int
    
    SET @ct = 0
    WHILE @ct < 10 BEGIN
        SET @ct = @ct + 1
        INSERT INTO dbo.HugeTable (ColInt) VALUES (@ct)
    END
    GO
    
    SELECT COUNT(*) AS Ct FROM dbo.HugeTable
    
    UPDATE dbo.HugeTable
    SET ColGUID = NEWID()
    WHERE ColID BETWEEN 3 AND 7
    
    SELECT * FROM dbo.HugeTable

    Risultati

             Ct
    -----------
             10
    
          ColID ColGUID                                   ColInt
    ----------- ------------------------------------ -----------
              1 NULL                                           1
              2 NULL                                           2
              3 E45E13D8-CFF0-4FC7-B7C9-1D53E95C502D           3
              4 33C3CCBC-B6BB-4CAA-AB10-338AA95F366E           4
              5 82136767-396E-4B33-B9DD-FFD30FCF4680           5
              6 EFA24EC9-F8F9-47CF-839F-D588F69D167F           6
              7 546F7C14-BDDA-4226-B45C-B0DDCD43E7DB           7
              8 NULL                                           8
              9 NULL                                           9
             10 NULL                                          10
    • Per essere sicuri, mi piace @marc_s “DOVE NewColumn È NULLO”.
    • Grazie per i complimenti tanto Rob. Questo è eccellente. Io uso questo.
  2. 18

    Per aggiungere una colonna di tipo UNIQUEIDENTIFIER con un vincolo predefinito e compilando i valori subito, usare qualcosa come:

    ALTER TABLE dbo.Accounts
      ADD NewColumn UNIQUEIDENTIFIER
      CONSTRAINT DF_T_Account_NewColumn DEFAULT (newsequentialid()) WITH VALUES

    Se hai già la colonna di una tabella e solo bisogno di inserire i valori, utilizzare:

    UPDATE dbo.Accounts
    SET NewColumn = newid()
    WHERE NewColumn IS NULL

    Ma non ho idea di qualsiasi cosa si intende per “selezionando solo la metà dei valori” – si prega di chiarire.

    Marc

    • Cosa intendo per mezzo dei valori di questa tabella è 189999 righe. Voglio scegliere valori della riga 9499 per riga 18998.

Lascia un commento