SQL: 一次重命名所有变量
SQL: Renaming All Variables at Once
我正在使用 Netezza SQL。我的数据如下所示:
var1 var2 var3
1 0.8879615 9.145530 9.76198
2 8.3522106 8.921711 5.55693
3 16.1873228 6.099095 29.92102
4 5.1786637 15.209045 6.06162
5 3.8149316 15.078099 18.95941
6 -5.8267485 9.371876 23.20190
问题: 我想重命名此 table 中的所有变量,方法是在其名称末尾添加“_a”,使其看起来像这样:
var1_a var2_a var3_a
1 0.8879615 9.145530 9.76198
2 8.3522106 8.921711 5.55693
3 16.1873228 6.099095 29.92102
4 5.1786637 15.209045 6.06162
5 3.8149316 15.078099 18.95941
6 -5.8267485 9.371876 23.20190
通常,这可以通过单独重命名每个变量来完成。例如:
Create table new_table as select var1 as var1_a, var2 as var2_a, var3 as var3_a from original_table;
我的问题: 假设我的 table 有 100 个变量 - 我不想手动重命名所有这些变量。 有没有办法一次重命名所有这些变量?
谢谢!
您可以一次性动态准备重命名命令并一次性执行它们:
select 'ALTER TABLE ' || table_name ||' RENAME COLUMN ' || column_name ||' TO ' || column_name|| '_a;'
from _V_SYS_COLUMNS
where table_name = 'yopurtablename'
and table_schema = 'yourtableschemaname'
我正在使用 Netezza SQL。我的数据如下所示:
var1 var2 var3
1 0.8879615 9.145530 9.76198
2 8.3522106 8.921711 5.55693
3 16.1873228 6.099095 29.92102
4 5.1786637 15.209045 6.06162
5 3.8149316 15.078099 18.95941
6 -5.8267485 9.371876 23.20190
问题: 我想重命名此 table 中的所有变量,方法是在其名称末尾添加“_a”,使其看起来像这样:
var1_a var2_a var3_a
1 0.8879615 9.145530 9.76198
2 8.3522106 8.921711 5.55693
3 16.1873228 6.099095 29.92102
4 5.1786637 15.209045 6.06162
5 3.8149316 15.078099 18.95941
6 -5.8267485 9.371876 23.20190
通常,这可以通过单独重命名每个变量来完成。例如:
Create table new_table as select var1 as var1_a, var2 as var2_a, var3 as var3_a from original_table;
我的问题: 假设我的 table 有 100 个变量 - 我不想手动重命名所有这些变量。 有没有办法一次重命名所有这些变量?
谢谢!
您可以一次性动态准备重命名命令并一次性执行它们:
select 'ALTER TABLE ' || table_name ||' RENAME COLUMN ' || column_name ||' TO ' || column_name|| '_a;'
from _V_SYS_COLUMNS
where table_name = 'yopurtablename'
and table_schema = 'yourtableschemaname'