繁体   English   中英

更新 SQL 中列的当前时间

[英]Updating current time for a column in SQL

所以我试图存储对任何行进行任何更改的时间。 我正在使用以下查询:

ALTER TABLE SPRD_MGMT_INP_INDEX_CHANGE_RATE
CHANGE "UPLOAD TIME"  
"UPLOAD TIME" TIMESTAMP NOT NULL
DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP;

我收到以下错误:

SQL 编译错误:位置 0 处的语法错误第 2 行意外“更改”。 请帮忙

该语法使用alter columnset ,但更大的问题是您无法更改 Snowflake 中列的默认值,但此处注明的例外情况除外:

https://docs.snowflake.com/en/sql-reference/sql/alter-table-column.html

在该页面中,它说明了以下内容:

更改列的默认值,除非默认值是序列。

在上面引用的操作表中,它有一个Unsupported的复选标记。

您将需要使用此默认值创建一个新表。 然后,您可以使用 insert from select 从原始表中复制行。

您可以像这样在新表中指定默认值:

create or replace table T1 
(COL1 int, COL2 string, UPLOAD_TIME timestamp_tz default current_timestamp()); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM