我有一张有4200万条记录的表。 3200万有一个空值,我想为每一个生成一个新的GUID。我应该分批做这个吗?在Sybase中自动生成GUID
另外,前进,我想要一个新的GUID添加到插入新记录的字段。做这个的最好方式是什么?
该字段不是主键,它是一个自动递增整数。
我有一张有4200万条记录的表。 3200万有一个空值,我想为每一个生成一个新的GUID。我应该分批做这个吗?在Sybase中自动生成GUID
另外,前进,我想要一个新的GUID添加到插入新记录的字段。做这个的最好方式是什么?
该字段不是主键,它是一个自动递增整数。
您是否尝试过插入触发器?
有一个newid()函数来生成一个GUID。你的列应该是varchar(32)(或varbinary(16))或更大。 您应该运行在批量更新,以避免填满事务日志e.g
set rowcount 10000
while exists (select 1 from mytab where myid is null)
update mytab set myid = newid() where myid is null
set rowcount 0
你并不需要一个触发 - 只要绑定功能作为默认列。 Sybase文档中有一个示例。
谢谢@Carly。是的,我的答案只有+1,因为您是新用户。 – 2010-04-16 21:20:24