【发布时间】:2012-08-24 11:32:50
【问题描述】:
我想在每次循环运行时在表中添加一列。我创建了一个临时变量,它将为循环中的每次迭代采用不同的名称。现在我想在我的表中添加一个同名的列。我试过这样的东西,部分代码显示在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 编译错误”。 我不知道如何摆脱它。请帮忙
【问题讨论】:
-
您使用的是什么数据库产品?
-
我是在oracle数据库上做的
-
您为什么要这样做?这听起来像一个可怕的模型。您必须使用动态 SQL 来执行此操作,并且在您需要查询值的任何时候。为什么不使用单独的表格来保存这些值?或者只是加入
ora_dmstore,因为您似乎已经拥有id加入的价值?如果您的目标是隐藏“复杂性”,您可以有这样的看法。
标签: oracle loops plsql alter-table temporary