Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何添加uniqueidentifier列并插入值_Sql Server_Sql Server 2005 - Fatal编程技术网

Sql server 如何添加uniqueidentifier列并插入值

Sql server 如何添加uniqueidentifier列并插入值,sql-server,sql-server-2005,Sql Server,Sql Server 2005,请大家给我一些想法。我有一张189999行的大桌子。我只需要选择它的中间值。我该怎么做呢。我添加了唯一标识符列。如何在其中插入值。请建议。我非常感谢你的帮助。 我没有接受答案。我以前不知道怎么做。 谢谢大家要添加带有默认约束的UNIQUEIDENTIFIER类型的列并立即填充值,请使用以下方法: ALTER TABLE dbo.Accounts ADD NewColumn UNIQUEIDENTIFIER CONSTRAINT DF_T_Account_NewColumn DEFAULT

请大家给我一些想法。我有一张189999行的大桌子。我只需要选择它的中间值。我该怎么做呢。我添加了唯一标识符列。如何在其中插入值。请建议。我非常感谢你的帮助。 我没有接受答案。我以前不知道怎么做。
谢谢大家

要添加带有默认约束的UNIQUEIDENTIFIER类型的列并立即填充值,请使用以下方法:

ALTER TABLE dbo.Accounts
  ADD NewColumn UNIQUEIDENTIFIER
  CONSTRAINT DF_T_Account_NewColumn DEFAULT (newsequentialid()) WITH VALUES
如果表中已有列,只需插入值,请使用:

UPDATE dbo.Accounts
SET NewColumn = newid()
WHERE NewColumn IS NULL
但我不知道你所说的“只选择中间值”是什么意思——请澄清


马克

这应该很好用

UPDATE table
SET UniqueIdentifierColumn = NEWID()
WHERE ...
请注意,在单个基于集合的语句中执行更新会使用不同的GUID填充每一行

示例代码
你能分享你的表格结构吗?请将你的表格结构添加到你的原始问题中,方法是编辑它并很好地格式化代码!在评论里,真的很难读!我所说的中间值是指这个表有189999行。我想从9499行到18998行中选择值。为了安全起见,我喜欢@marc_s的“WHERE NewColumn IS NULL”。非常感谢Rob。这太棒了。我会用这个。
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
         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