导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

点击后从一个表中读纪录作为新表的列,这段代码为啥不行?

cn03dq 2003-12-18 03:27:06
string thiscolumn,sqlstatement,thisgzb,temp
integer i,endnumber

thisgzb="CREATE TABLE GZB0311"&
+"(序号 NUMBER(3) NOT NULL)"

execute immediate :thisgzb;

//从工资项目表中选取纪录
sqlstatement="SELECT * FROM 工资项目表"

PREPARE SQLSA FROM :sqlstatement;
DESCRIBE SQLSA INTO SQLDA;
DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA;
OPEN DYNAMIC my_cursor USING DESCRIPTOR SQLDA;

endnumber=SQLDA.NumOutputs




for i=1 to endnumber
FETCH my_cursor USING DESCRIPTOR SQLDA;
thiscolumn=GetDynamicString(SQLDA,1)
temp="ALTER TABLE GZB0311 ADD(" +thiscolumn+"CHAR(50))"
execute immediate :temp;
next

CLOSE my_cursor;
...全文
9 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
banalman 2003-12-18

execute immediate :temp;
加入判断sqlca.sqlcode 的返回的数值。
回复
mittee 2003-12-18
语法如下
ALTER TABLE doc_exc ADD column_b VARCHAR(20) NULL

代码里的alter是否没有分开
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

813

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告