You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何重命名名称包含.csv后缀的Azure SQL数据仓库表?

解决Azure SQL Data Warehouse中重命名带.csv后缀表的问题

错误原因

你执行sp_rename时报错参数不足,是因为在Azure SQL Data Warehouse(现归为Azure Synapse Analytics SQL池)中,重命名表必须显式指定@objtype参数为'OBJECT',而你之前的调用遗漏了这个必填参数。

单表重命名的正确语句

针对单个带.csv后缀的表,使用以下格式执行重命名:

EXEC sp_rename 
    @objname = 'schema.[table1.csv]', 
    @newname = 'table1',
    @objtype = 'OBJECT';

批量重命名所有带.csv后缀的表

如果有大量此类表,可以通过动态SQL自动生成并执行重命名脚本,步骤如下:

  1. 先执行以下脚本预览生成的重命名命令,确认逻辑正确:
DECLARE @sql NVARCHAR(MAX) = '';

SELECT @sql += 'EXEC sp_rename @objname = ''' + QUOTENAME(s.name) + '.' + QUOTENAME(t.name) + ''', @newname = ''' + REPLACE(t.name, '.csv', '') + ''', @objtype = ''OBJECT'';' + CHAR(13) + CHAR(10)
FROM sys.tables t
JOIN sys.schemas s ON t.schema_id = s.schema_id
WHERE t.name LIKE '%.csv';

PRINT @sql;
  1. 检查PRINT输出的脚本无误后,取消注释下面的语句执行批量重命名:
-- EXEC sp_executesql @sql;

注意事项

  • 重命名操作会中断依赖该表的业务,请选择非高峰时段执行
  • 重命名后,所有依赖该表的视图、存储过程、应用代码需要同步更新,否则会出现对象不存在的错误
  • 执行前建议备份相关表,避免意外情况

内容的提问来源于stack exchange,提问作者marky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 09:53:12