问:ORACLE 7.3 + PB,在Oracle的SQL*PLUS中可以很容易修改表结构,但如何在PB程序中动态修改表结构?比如将某一字段的长度扩大?
答:用动态SQL语句,举例如下:
string ls_Mysql
ls_Mysql=″alter table department modify dept_name varchar2(12)″
sqlca.autocommit = true
EXECUTE IMMEDIATE :ls_Mysql;
sqlca.autocommit = false
以上脚本的作用是把表department的字符型字段dept_name长度加大到12。
这种方法还可以实现在程序中建表(将ls_Mysql的值改为″create table ...″即可 )、删除表等操作,也适用于Sybase SQL Anywhere,MS SQL Server等数据库。