RedShift创建临时表遇SQL Error [42601]语法错误求助
Redshift创建临时表报错42601的解决方法
错误原因
- Redshift不支持用
#作为临时表前缀,这是SQL Server等其他数据库的语法,Redshift的临时表直接用普通名称即可。 - 核心问题:创建表(包括临时表)时必须定义列结构,只写表名没有列定义会触发
syntax error at end of input语法错误。
正确写法示例
创建临时表必须指定列的名称和数据类型,以下是两种合法写法:
- 使用
TEMPORARY关键字:
CREATE TEMPORARY TABLE user_temp ( user_id INT, user_name VARCHAR(64), register_date DATE );
- 使用简写的
TEMP关键字:
CREATE TEMP TABLE order_temp ( order_id BIGINT, total_amount NUMERIC(10,2), order_time TIMESTAMP );
额外说明
Redshift临时表仅在当前会话中可见,会话结束后会自动被删除,无需手动清理。
内容的提问来源于stack exchange,提问作者Co_oder
相关产品推荐
相关产品推荐

