我想在每次运行循环时在表中添加一列。我创建了一个临时变量,它将为循环中的每个迭代使用不同的名称。现在我想在我的表中添加一个具有相同名称的列。我想是这样的,部分代码显示在Oracle SQL Developer中:如何在名称存储在临时变量中的表中添加列
DECLARE V_COUNT VARCHAR (10) := ZIP_COD
BEGIN
ALTER TABLE ABCD
ADD V_COUNT varchar(10);
update ABCD b
set b.V_COUNT = (select d.ZIP_cod
from ORA_DMSTORE d
where b.id_dmstore = d.id_dmstore);
END;
这是显示错误“通常一个PL/SQL编译错误。” 我不知道如何摆脱它。请帮助
什么数据库产品是您使用? – kgrittn
我在oracle数据库上做的 – user1617511
你为什么要这样做?这听起来像一个可怕的模型。您必须使用动态SQL来执行此操作,并且您需要查询这些值。为什么不有一个单独的表来保存值;或者只是加入到'ora_dmstore'中,因为您似乎已经有了'id'值来加入?如果你的目标隐藏了“复杂性”,你可以有这样的观点。 –