使用表的字段值重命名 SQL 表的列

2023-12-28

我正在尝试执行一个 SQL 查询,该查询将使用表中第一个记录集中的文本重命名表的列。

我的桌子看起来像这样:

 COL1  |  COL2  |  COL3  |  COL4  |  COL5  | COL6

 REASON |ITEMDATE|ITEMTIME|SITENAME|  EVENT | RPM  
 tstamp |12-11-07|  24:12 | Spain1 |Shutdwn | 1000  
 tstamp |13-11-07|  02:22 | Spain1 |Startup | 1050

我想像这样重命名这些列:

 REASON |ITEMDATE|ITEMTIME|SITENAME|  EVENT | RPM

 tstamp |12-11-07|  24:12 | Spain1 |Shutdwn | 1000  
 tstamp |13-11-07|  02:22 | Spain1 |Startup | 1050 

此过程将满足您的需要。您可以按如下方式运行它:

    exec p_rename_columns N'<mytable>'

请注意,该过程假设“第一”行是磁盘上的物理第一行。由于这可能会根据表上的聚集索引使用的字段而变化,因此不能 100% 保证。

该过程的代码:

create proc p_rename_columns (@table sysname)
AS

declare @name sysname, 
        @col sysname,
        @sql nvarchar(max)

declare cur cursor 
local read_only 
for select name 
      from sys.columns 
     where object_id = object_id(@table)

open cur
fetch next from cur into @name

while @@fetch_status = 0 
  begin

    select @sql = N'select top (1) @col = ' + quotename(@name) + N' from ' + quotename(@table)
    exec sp_executesql @sql, N'@col sysname output', @col output

    select @sql = N'exec sp_rename ''' + quotename(@table) + N'.' + quotename(@name) + N''', ''' + @col + N''''
    exec (@sql)

    fetch next from cur into @name
  end 
close cur
deallocate cur

select @sql = N'DELETE TOP (1) from ' + quotename(@table)
exec (@sql)
GO
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用表的字段值重命名 SQL 表的列 的相关文章

  • Postgresql 中的 id 列位置重要吗?

    我正在测试删除主键列 id 的迁移 我想使用外键作为主键 当我运行并恢复迁移时 我看到表的状态是相同的 只是 id 列现在是最后一个 它会以任何方式改变我的数据库的行为吗 我是否应该费心去恢复迁移恢复代码中的列顺序 理论上一切都应该没问题
  • 使用绑定和空值命中 Oracle 索引的最佳查询

    我有一个表 该表在多个列上有一个索引 其中许多列可以为空 CREATE UNIQUE INDEX UX MYTABLE A B C D E ON MYTABLE A B C D E 现在 我在 C 代码中尝试检查该表并精确命中索引 对于每个
  • t sql中的相对路径?

    如何获取t sql中的相对路径 举个例子 sql文件位于文件夹中D temp 我想获取文件夹中文件hello txt的路径D temp App Data 如何使用相对路径引用 假设我正在 SQL Server Management Stud
  • Python itertools groupby 中令人不安的奇怪行为/错误?

    我在用itertools groupby解析一个短的制表符分隔的文本文件 文本文件有几列 我想做的就是对具有特定值的所有条目进行分组x在特定的列中 下面的代码对名为的列执行此操作name2 寻找变量中的值x 我尝试使用以下方法来做到这一点c
  • 从数据库配置中的连接字符串中删除 SSIS 密码

    我有一个 SSIS 包 它使用 SQL 服务器中的 SSIS 配置表来检索 OLE DB 连接管理器的连接字符串属性 问题是我还需要相同的连接字符串来调用使用实体框架的程序集 我尝试访问连接管理器连接字符串属性 但 SSIS 总是删除密码
  • 从存储过程中的动态 SQL 获取结果

    我正在编写一个存储过程 需要在过程中动态构造 SQL 语句以引用传入的表名称 我需要让这个 SQL 语句返回一个结果 然后我可以在整个过程的其余部分中使用该结果 我尝试过使用临时表和所有内容 但我不断收到一条消息 提示我需要声明变量等 例如
  • SSRS。如何在table1_Details_Group右侧创建新的行组?

    我正在使用 Microsoft Visual Studio 2013 创建报告 PROBLEM 如果我添加新的Row Group前面会自动添加table1 Details Group 问题 如何更改组的顺序或在右侧添加新组table1 De
  • 如何打印Oracle中过程的定义?

    oracle中有没有办法查看过程的结构是什么 我正在尝试记录并运行程序 并希望将实际的程序结构存储在我的日志中 您可以查询ALL SOURCE table SELECT text FROM all source WHERE owner lt
  • 使用 R 下载压缩数据文件、提取并导入 .csv

    我正在尝试使用以下方法从网页下载并提取 csv 文件R 这个问题是重复的使用 R 下载压缩数据文件 提取和导入数据 https stackoverflow com questions 3053833 using r to download
  • 如果执行没有事务的删除语句,是否会删除部分内容?

    如果表myTable包含100000000条记录 我执行DELETE FROM myTable 没有开始交易并且出现问题 例如服务器电源故障 会删除一些记录吗 否 如果数据库引擎符合ACID http en wikipedia org wi
  • 使用 Java 在浏览器中下载 CSV 文件

    我正在尝试在 Web 应用程序上添加一个按钮 单击该按钮会下载一个 CSV 文件 该文件很小 大小仅约 4KB 我已经制作了按钮并附加了一个侦听器 文件也准备好了 我现在唯一需要做的就是创建单击按钮时下载 csv 文件的实际事件 假设 fi
  • SQL Server 差异工具

    在一个团队中工作时 人们很容易修改开发 SQL Server 表并忘记它 或者准备部署更改但必须等待部署 这使得我们的开发表和活动表不一致 从而在推送存储过程时导致问题 是否有一个工具可以让我输入 SPROC 名称并让它检查开发数据库和实时
  • 如何通过循环变量在 dbt 中多次运行 SQL 模型?

    我有一个 dbt 模型 测试模型 接受地理变量 zip state region 在配置中 我想通过循环变量来运行模型三次 每次使用不同的变量运行它 问题是 我有一个如下所示的宏 它将变量附加到输出表名称的末尾 即运行测试模型 with z
  • Oracle:如果表存在

    我正在为 Oracle 数据库编写一些迁移脚本 并希望 Oracle 有类似于 MySQL 的东西IF EXISTS构造 具体来说 每当我想删除 MySQL 中的表时 我都会执行类似的操作 DROP TABLE IF EXISTS tabl
  • 外键引用多个表

    我有4张桌子 A ida name B ida B specific stuff C ida C specific stuff D ida D specific stuff 我希望另一个表 E 可以仅引用 B 或 C 而不是 D 我可以在其
  • SQL Server 2000 中是否提供公用表表达式 (CTE)

    我最近发现了以下文章 http www tsqltutorials com with common table expressions php http www tsqltutorials com with common table exp
  • sql查询中的truncate和delete命令有什么区别[重复]

    这个问题在这里已经有答案了 可能的重复 SQL中TRUNCATE和DELETE有什么区别 https stackoverflow com questions 139630 whats the difference between trunc
  • 如何在动态查询中将行值连接到列名

    我正在开发一个允许配置问题和答案的应用程序 目前最多可以有 20 个答案 但也可能更少 我的结构如下 问题 ID FormId QuestionText AnswerField 1 1 Name Answer01 2 1 Address A
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe
  • 如何将列表字典写入字符串而不是 CSV 文件?

    This 堆栈溢出问题 https stackoverflow com questions 37997085 how to write a dictionary of lists to a csv file将列表字典写入 CSV 文件的答案

随机推荐

  • 编译器的这个响应有效吗?

    以下代码会引发错误 我在参考文献中找不到这方面的任何信息 运算符右侧缺少空格是一个错误 let names Anna Alex Brian Jack 此语法的任何其他组合都可以编译 有人知道根据我们现在对 Swift 的了解这是否真的是无效
  • 如何使用 astyle 在 C++ 方法中格式化左大括号?

    将函数的左大括号移动到下一行是一种常见的做法 如何使用astyle 代码美化器 在类方法中应用它 example this is an initial C code class Class public static int foo boo
  • 基于iOS的OpenGL ES编程

    我需要找到学习 iPhone 版 openGL ES 的资源 我已经看过 Brad Larson 的精彩视频 现在正在从苹果下载高级视频 我对 iOS 编程了解很多 但对 OpenGL 一无所知 因此资源不假设我已经了解 openGL 我想
  • 我可以将 moq 的 InSequence() 与 MockBehavior.Loose 一起使用吗?

    我试图执行后续调用验证 我发现 moq 支持 InSequence 方法 例如 MockSequence s new MockSequence validator InSequence s Setup m gt m IsValid It I
  • 如何在shiny中触发数据刷新?

    我有一个闪亮的应用程序 它将数据从 SQL 查询到数据帧中 然后从我的闪亮服务器 块中引用这些数据帧 到目前为止 我只在 RStudio 中运行它 因此每当我需要新数据时 我只需重新启动应用程序 然后在服务器加载之前它将获取所有新数据 我想
  • TIFFReadDirectory 使用 QPixmap::load( ) 读取 GeoTiff 时出现警告

    我有一个 geotiff 文件 我正在使用 QPixmap load 将其加载到 QPixmap 中 我多次在控制台上打印以下警告 但是 直接使用 libtiff 打开它不会出现警告 关于如何减轻 QT 中这些难看的警告有什么想法吗 TIF
  • Web应用程序在azure中出现http 404错误,但在本地运行

    我正在尝试创建一个连接到我的 Azure SQL 数据库并从数据中读取的 Web api 我使用了 VS19 中的 API 模板并添加了我自己的文件 我在本地运行了该应用程序 模板天气预报工作正常 并且我使用邮递员测试了我的 API 然后
  • CRAN 关于全局变量使用的政策

    在CRAN存储库策略文档中 明确指出 包不应修改全局环境 用户的工作空间 当我跑步时 R CMD check via devtools check 它只是声明 全局变量 x 没有可见的绑定 作为注释而不是警告 CRAN 不会接受用户提供的包
  • Visual Studio 容器工具要求在构建、调试或运行容器化项目之前运行 Docker

    我正在研究 Net core 微服务 我安装了包含 docker cli 和 kitematics 的 Docker Toolbox 之后 我在 Visual Studio 2017 中创建了一个简单的 Net Core Web api 项
  • 在 Ruby 中解析街道地址

    我正在将地址处理为数据库各自的字段格式 我可以得到门牌号和街道类型 但试图确定获得没有号码和最后一句话的街道的最佳方法 收到的标准街道地址为 res address 7707 Foo Bar Blvd 到目前为止我可以解析以下内容 hous
  • android中的activity作为对话框

    我想用一个activity as dialog我把活动的主题定为对话 我成功了 但 我遇到的问题是当我在活动之外单击时 它会自动关闭并且之前的活动开始 我尝试了一种方法来制作透明的父布局 它看起来不像对话框 我想使用此活动在我的应用程序中创
  • 通过客户端函数在服务器端调用非静态方法

    我可以通过使用服务器端的静态接收回调结果方法从服务器端获取对象 但我想在我的页面中运行一个非静态方法 通过调用客户端函数来填充 ajax 手风琴 我从服务器端调用的对象是一个复杂的对象 如果我通过回调结果获取它 则无法在客户端使用它 是否有
  • 如何启用 InstallShield 限量版 2015

    我想部署我的项目 为此我转到文件 gt 新项目 gt 其他项目类型 gt 设置和部署 但在那里我找不到任何选项 安装项目 我已经下载了InstallShield Limited Edition 但仍然出现相同的网页 要求我下载 Instal
  • javascript二叉搜索树实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道用 Javascript 实现简单 BTree 的任何好例子吗 我有一堆随机到达的 东西 并且
  • 尝试在 openpyxl 中保存工作簿时,卡在 AttributeError: 'int' 对象没有属性 'reindex' 上

    我无法弄清楚这一点 它抱怨 wb save 行 在我的头撞到这个之后 我不知道是什么原因造成的 我怀疑这与尝试打开一张空白纸并在进行格式化操作后保存它有关 但我无法想象我在那里所做的事情导致了这个问题 当我打开现有的电子表格并进行操作时 它
  • 以编程方式在给定时间暂停/停止 Android MediaPlayer

    我研究了一下 但找不到解决这个问题的任何方法 我想玩一个MediaPlayer并在给定时间暂停 停止 即 从第 6 秒播放到第 17 秒 我知道我可以设置它的起点seekTo 方法 但我可以通过设置终点来暂停 停止播放 当然 在达到文件结束
  • 读取文件列表,应用函数并用相同名称重写

    我有一组包含重复条目的 csv 文件 我需要删除并重写具有相同名称和格式的文件 这是我到目前为止所做的 filenames lt list files pattern csv datalist lt lapply filenames fun
  • 如何在 IIS 中监视 .NET MySQL 数据连接器的连接池

    我已经在谷歌上搜索了相当多的信息 但无法找到确切的答案 我们在日志中看到以下错误 超时已过 获取之前已过了超时时间 来自池的连接 发生这种情况的原因可能是所有 连接正在使用中并且已达到最大池大小 堆栈跟踪 位于 MySql Data MyS
  • MXE - 使用 cmake 和 mingw 交叉编译时对 Qt 的未定义引用

    我正在尝试编译电子通桌面 https github com electronpass electronpass desktop 对于 Windows 使用MXE http mxe cc在Linux上 我已经成功编译了它的所有依赖项 包括li
  • 使用表的字段值重命名 SQL 表的列

    我正在尝试执行一个 SQL 查询 该查询将使用表中第一个记录集中的文本重命名表的列 我的桌子看起来像这样 COL1 COL2 COL3 COL4 COL5 COL6 REASON ITEMDATE ITEMTIME SITENAME EVE