重命名SQL列错误:参数@objname不明确或声明的@objtype(COLUMN)错误

时间:2016-12-22 11:20:05

标签: sql sql-server sql-server-2012

我想重命名我的专栏。

我提到了this文件。

我写了一个查询:

sp_RENAME '[dbo].[File].[JSONFile]', '[ARAInputJson]', 'COLUMN'

但现在列已创建为[ARAInputJson]

但我不想在其上加上方括号。

所以我再次把它写成:

sp_RENAME '[dbo].[File].[[ARAInputJson]]' , 'ARAInputJson', 'COLUMN'

但是我收到了这个错误:

  

Msg 15248,Level 11,State 1,Procedure sp_rename,Line 215
  参数@objname不明确或声称@objtype(COLUMN)错误。

请帮我将列从[ARAInputJson]重命名为ARAInputJson

3 个答案:

答案 0 :(得分:3)

这应解决方括号问题:

mysql> select * from voucher_info;
+-----------+------+------------+
| voucherid | ean  | error_code |
+-----------+------+------------+
|    123456 | 234  | OK         |
|    123456 | 435  | OK         |
|    123456 | 345  | OK         |
|    123457 | 234  | OK         |
|    123457 | 435  | ERROR      |
|    123457 | 345  | OK         |
+-----------+------+------------+
6 rows in set (0,00 sec)

mysql> SELECT
    ->     vi.voucherid
    ->     , GROUP_CONCAT(ean) eans
    ->     , IF( COUNT(*) - SUM(IF(error_code = 'ERROR' OR @err = 'ERROR' , 0 , 1)) = 0 , 'OK', 'ERROR') error_code
    -> FROM voucher_info vi
    -> CROSS JOIN ( SELECT @err:='') AS initial
    -> GROUP BY voucherid;
+-----------+-------------+------------+
| voucherid | eans        | error_code |
+-----------+-------------+------------+
|    123456 | 234,435,345 | OK         |
|    123457 | 234,435,345 | ERROR      |
+-----------+-------------+------------+
2 rows in set (0,01 sec)

mysql>

答案 1 :(得分:2)

请删除所有[]并尝试

sp_RENAME 'dbo.File.[ARAInputJson]' , 'ARAInputJson', 'COLUMN'

答案 2 :(得分:2)

sp_RENAME '[dbo].[File].[[ARAInputJson]]]' , 'ARAInputJson', 'COLUMN'