For cur_Review In( SELECT extractValue(value(t),'/item/@date') as d_date
From (select xmltype(a_date_xml) as recode from dual) x
,TABLE( xmlsequence (
extract(x.recode,
'/data/item'))
) t)
Loop
v_date:=cur_Review.d_date;
v_sql:='ALTER TABLE Temp_item_table ADD (col'||v_date||' varchar2(50));';
End loop;
execute immediate v_sql;--执行添加列语句--想法:循环游标,每次都添加一个列,最后执行下语句。然后就报错了。我跟踪了下,v_sql是这样的
“
ALTER TABLE Temp_item_table ADD (col20120018 varchar2(50));
ALTER TABLE Temp_item_table ADD (col20120019 varchar2(50));
ALTER TABLE Temp_item_table ADD (col20120020 varchar2(50));
ALTER TABLE Temp_item_table ADD (col20120021 varchar2(50));
”
这个是在存储过程里面执行的。
From (select xmltype(a_date_xml) as recode from dual) x
,TABLE( xmlsequence (
extract(x.recode,
'/data/item'))
) t)
Loop
v_date:=cur_Review.d_date;
v_sql:='ALTER TABLE Temp_item_table ADD (col'||v_date||' varchar2(50));';
End loop;
execute immediate v_sql;--执行添加列语句--想法:循环游标,每次都添加一个列,最后执行下语句。然后就报错了。我跟踪了下,v_sql是这样的
“
ALTER TABLE Temp_item_table ADD (col20120018 varchar2(50));
ALTER TABLE Temp_item_table ADD (col20120019 varchar2(50));
ALTER TABLE Temp_item_table ADD (col20120020 varchar2(50));
ALTER TABLE Temp_item_table ADD (col20120021 varchar2(50));
”
这个是在存储过程里面执行的。
解决方案 »
- 什么是转储控制文件?有什么用处,或者说这样做的目的在于?
- 货款是什么意思?货物的款?
- string类型的时间和character类型的时间如何转换?
- 非常急!oracle日期函数查询出来英文月份,在线等。
- 为什么 not in ('') 筛选不出任何数据呢?
- 在Windows 2000下安装Oracle 9i和在Windows XP下安装Oracle 9i,性能上有什么不同嘛?
- 如何用oracle语句 实现 表中50行到100 行的显示?
- RedHat Linux 9.0 安装 oracle9i 出错 , display变量相关 .
- oracle在linux下如何启动
- Oracle 9i数据库安装好之后,一启动瑞星防火墙,数据库就连接不上,提示“协议适配器错误”。
- 请教如何对oracel进行学习
- 帮忙看下存储过程哪里错了
--把最后面的;去掉,改成
v_sql:='ALTER TABLE Temp_item_table ADD (col'||v_date||' varchar2(50))';