[英]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 column
和set
,但更大的问题是您无法更改 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.