Sql 将表中的所有时间戳列更改为varbinary(8)
我正在使用Sql 将表中的所有时间戳列更改为varbinary(8),sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我正在使用选择进入创建存档表。但是,此表有一个时间戳列,当我尝试插入值时,会出现以下错误: 无法在时间戳列中插入显式值 我不希望使用列列表插入,然后将null插入时间戳列 我要做的是在归档表上动态地将Timestamp类型的所有列更改为varbinary(8) 到目前为止,我尝试的是获得专栏: SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'AppServices_Notification
选择进入
创建存档表。但是,此表有一个时间戳列,当我尝试插入值时,会出现以下错误:
无法在时间戳列中插入显式值
我不希望使用列列表插入,然后将null
插入时间戳列
我要做的是在归档表上动态地将Timestamp类型的所有列更改为varbinary(8)
到目前为止,我尝试的是获得专栏:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'AppServices_Notification' AND
DATA_TYPE = 'TimeStamp'
ALTER TABLE AppServices_Notification
ALTER COLUMN COLUMN_NAME varbinary(8)
有没有一种方法可以在一次操作中实现这一点?您可以在
选择中转换为<代码>选择Column1,将(Column2作为VARBINARY(8))转换为Column2,Column3。。。从…
请参见,在我的问题中。我不希望这样做,因为在每次架构更改时,我还需要更新此查询