SQL SERVER,我正在使用一个表使用guid而不是一个整数,但对于我正在进行的整合,我需要它是一个int。所以,我想写一些将创建一个ID列,如果它不存在,并填充下一个最高的ID。我不确定如何做到这一点。有没有人有这样做的代码?添加一个新的主键列
我已经尝试过这一点,但更新不工作,因为他们是空
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'c_Product'AND COLUMN_NAME = 'ProductId')
BEGIN
ALTER TABLE c_Product ADD ProductId INT
END
UPDATE c_Product SET ProductId = (SELECT Max(ProductId) + 1 END FROM c_Product)
所以,基本上你想把主键从'GUID'转换成自动增加的('IDENTITY')。对? – 2011-05-27 12:37:38
没错,但我想在程序执行过程中执行 – user204588 2011-05-27 12:46:01
我们可以重申这一点:“如果INSERT没有给出值,我想要一个int列自动填充”。还有第二个问题“我可以把它作为主键”吗?是否有任何要求保留现有的价值?任何暗示的排序?你可以让新的列成为IDENTITY吗?如果你需要帮助,那么我们需要知道你在问什么。 – gbn 2011-05-27 12:55:39