Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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 将表中的所有时间戳列更改为varbinary(8)_Sql_Sql Server_Sql Server 2012 - Fatal编程技术网

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。。。从…
请参见,在我的问题中。我不希望这样做,因为在每次架构更改时,我还需要更新此查询