pb中修改SQL表结构的一些代码,该如何处理

pb中修改SQL表结构的一些代码
修改字段数据类型alter table department modify dept_name varchar2(12)
alter table 表名 modify 列名 新的数据类型

SQL删除主键alter table pic drop  CONSTRAINT pk_pic
alter table 表名 drop  CONSTRAINT pk_表名

删除字段(列)alter table pic drop COLUMN  id
alter table 表名 drop COLUMN  列名(字段名)

设置主键ALTER Table pic ADD CONSTRAINT pk_pic   PRIMARY KEY (dh)
ALTER Table 表名 ADD CONSTRAINT pk_表名   PRIMARY KEY (列名/字段名)

取得对应表结构所有列名称select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='pic');

select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名');

判断是否存在指定列名是否存在select name into :ls_id  from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='pic') and name = 'id';

select name into :ls_id  from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名') and name = '列名';

if ls_id = '' then
     列名不存在
   else
     列名存在
end if


pb中的表结构主键修改,使用动态SQLstring ls_Mysql
ls_Mysql="SQL语句"
sqlca.autocommit = true
EXECUTE IMMEDIATE :ls_Mysql;
sqlca.autocommit = false
------解决方案--------------------
sysobjects ,syscolumns 应该不通用所有数据库吧