当前位置: 首页 > 知识库问答 >
问题:

为每列添加前缀

公孙宏畅
2023-03-14

我有一个包含许多列的表,我希望为每个列添加前缀abc_

我尝试了以下查询:

    SELECT syscolumns.name as old_column_name, 'ABC_' + syscolumns.name as new_column_name
    FROM sysobjects 
    JOIN syscolumns ON sysobjects.id = syscolumns.id
    WHERE sysobjects.name = 'ABCtable'
    ORDER BY sysobjects.name,syscolumns.colid

共有1个答案

姬雪松
2023-03-14

你可以试试这样的东西。

    DECLARE @Colums AS TABLE(IndexNo INT IDENTITY(1,1), OldCol VARCHAR(MAX), NewCol VARCHAR(MAX))
    INSERT INTO @Colums
    SELECT syscolumns.name as old_column_name, 'ABC_' + syscolumns.name as new_column_name
    FROM sysobjects 
    JOIN syscolumns ON sysobjects.id = syscolumns.id
    WHERE sysobjects.name = 'ABCtable'
    ORDER BY sysobjects.name,syscolumns.colid


    DECLARE @I INT=1;
    WHILE EXISTS(SELECT * FROM @Colums WHERE IndexNo=@I)
    BEGIN
        DECLARE @OldCol VARCHAR(MAX)='', @NewCol VARCHAR(MAX)=''
        SELECT @OldCol='ABCtable.'+OldCol, @NewCol=NewCol FROM @Colums WHERE IndexNo = @I

        EXEC sp_rename @OldCol, @NewCol, 'COLUMN'

        SET @I = @I+1;
    END
 类似资料:
  • 问题内容: 我想为每个列名添加后缀,如下所示: 我该怎么做呢?另外,如果要添加后缀,解决方案将如何更改? 问题答案: 您可以使用一种理解: 也有内置方法,如和在另一个答案中提到的。

  • 问题内容: 我有一个PHP数字数组,我想在前面加上减号(-)。我认为通过使用爆炸和内爆是可能的,但是我对php的了解实际上是不可能的。任何帮助,将不胜感激。 本质上,我想从这里开始: 对此: 有任何想法吗? 问题答案: 简单: 除非数组是字符串:

  • 问题内容: 我正在开发一个项目,通过添加Hibernate批注来保留一些POJO。我遇到的一个问题是这样的代码失败,因为Hibernate尝试将内的子字段映射到同一列上(即,两者都试图映射到colum ,从而导致错误)。 由于会有很多出现这样在整个系统中,这将是很好,如果有一个选项来自动添加一个前缀列的名称(例如使列是,,,),而不必基于每个应用覆盖领域基础。Hibernate是否具有此功能,或者

  • 问题内容: 有没有一种方法可以使用预先定义的值自动更新Mysql DB中表中的列的值,并且该更新应该每月进行一次。 情况是,我想更新表雇员的列余额,每个雇员每月增加2.5天,并且每两年为每名雇员重设总天数。 问题答案: 考虑使用mysql的Create Event策略,该策略可以免去执行cron作业的麻烦。 几乎在任何情况下,您都可以做一些今年初就不会想到的事情。例如每周一次根据员工周年纪念日处理

  • 当使用spring Batch从db写入csv文件时,我需要在每个列的分隔符之前根据条件添加空格。 例如,我在csv文件中要求间隔

  • 问题内容: 我正在开发一个项目,其中通过添加Hibernate批注来保留一些POJO。我遇到的一个问题是,这样的代码失败了,因为Hibernate尝试将内的子字段映射到同一列上(即,两者都试图映射到colum ,从而导致错误)。 由于会有很多出现这样在整个系统中,这将是很好,如果有一个选项来自动添加一个前缀列的名称(例如使列是,,,),而不必基于每个应用覆盖领域基础。Hibernate是否具有此功