Dynamically add 50 columns to table variable(动态添加 50 列到表变量)
问题描述
我想向定义为变量的表中添加大约 50 列.这些列的名称来自另一个表,基本上它们只是数字 - DEPA_KEY.(部门键)
I would like to add around 50 columns to table defined as variable. Names of those columns are coming from another table and basically they are just numbers - DEPA_KEY. (department key)
是否可以使用循环或类似的东西动态添加这些列?
Is it possible to add those columns dynamically with loop or something similar?
表定义为变量(这里我想动态添加 50 列):
Table defined as variable (here I would like dynamically add 50 columns):
DECLARE @USERS TABLE
(
USER_KEY INT,
USDE_HSU DECIMAL(8,2)
)
查询所有部门:
SELECT DEPA_KEY FROM CADEPA
推荐答案
AFAIK,你不能改变表变量的结构:
AFAIK, You can't change the structure of a table variable:
DECLARE @T AS TABLE
(
col1 int
);
ALTER TABLE @T
ADD col2 char(1)
;
这会产生一个错误.
您可以,但是,使用临时表来做到这一点:
You can, however, do it with a temporary table:
CREATE TABLE #T
(
col1 int
);
ALTER TABLE #T
ADD col2 char(1)
;
这篇关于动态添加 50 列到表变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:动态添加 50 列到表变量
基础教程推荐
- 在 SQL 中连接多个表 2021-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- 无法解决整理冲突 2021-01-01
- 是否可以执行按位分组功能? 2021-01-01
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
