gpt4 book ai didi

sql - 如何使用 for 循环在表中插入/更改多列?

转载 作者:行者123 更新时间:2023-12-05 07:40:30 24 4
gpt4 key购买 nike

我想在 SQL HANA 过程中的表中插入十列。

以下是我所做的,对我来说似乎还不错,但由于某种原因系统抛出语法错误。

我想要的:10 个名为 Col_1Col_2..Col_10 的新列,每个都是 INT 类型。

BEGIN
--DECLARE arr INT ARRAY ;
DECLARE i INT ;
DECLARE str1 STRING;
DECLARE str2 STRING;

str1:= 'Col_';


for i in 1 ..10 do
str2 := :str1 || :i;
exec 'ALTER TABLE "Table_Name" ADD (:str2 INT)';
end for;



END;

我尝试通过在 ADD() 中键入列名而不是使用变量来使用相同的 alter 命令,它工作得很好。

最佳答案

看起来模式设计不佳,无论如何尝试连接它:

BEGIN
--DECLARE arr INT ARRAY ;
DECLARE i INT ;
DECLARE str1 STRING;
DECLARE str2 STRING;
DECLARE str3 STRING;

str1:= 'Col_';

for i in 1 ..10 do
str2 := :str1 || :i;
str3 := 'ALTER TABLE "Table_Name" ADD ('|| :str2 ||' INT)';
exec str3;
end for;

END;

如果是一次,我会简单地使用显式的多个 alter 语句:

ALTER TABLE "Table_Name" ADD (Col_1 INT);
ALTER TABLE "Table_Name" ADD (Col_2 INT);
ALTER TABLE "Table_Name" ADD (Col_3 INT);
--...
ALTER TABLE "Table_Name" ADD (Col_10 INT);

关于sql - 如何使用 for 循环在表中插入/更改多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46158995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com