PB修改数据库表结构的技巧 PowerBuilder是目前公认的、最佳的数据库前端开发工具之一。在实际开发应用中，经常会遇到修改数据库表结构的情况。用PowerBuilder修改数据库表结构与用Foxbase修改数据库结构不同。在PowerBuilder中，除可以在数据库表结构中添加字段名外，无法直接修改数据库表结构，如删除某个字段名或类型或字段名长度等，都会导致数据库表记录的丢失。通过实践探索，作者总结了几种方法仅供大家参考。 一、修改数据库表结构，数据库表中没有记录 方法１：将表结构以Export Table 文件格式输出
1.从Database中选择要修改的数据库表Table。
2.从Objects中选择Export Table/View Syntax to Log，取名保存即选Save Log As，以*.sql格式保存。
3.从Objects中选择Database Administration。
4.从File中选择Dos Open，选文件名File name，*.sql，打开进行修改。
5.从Objects中选择Execute　SQL。即产生一新的数据库表结构。
注意：Table名不要同名。
方法２：将表结构以SQL Syntax 文件格式输出
1.从Database中选择要修改的数据库表Table。
2.按Preview键。
3.从File中选择Save Rows as，File Format 选SQL Syntax，取表名*.sql保存。
4.从File中选择Dos Open，打开表名*.sql，进行修改。
5.取表名后，Execute　SQL。
注意：此种方法没有生成Primary Key。
二、修改数据库表结构，保存原数据库表中记录
方法１：先修改数据库表结构，用SQL语句转移数据库表中记录
1.将表1生成表1.sql，修改结构，将表1另取名为表2。
2.运行表2.sql，生成表2。此时产生一新的数据库表结构。
3.从Objects中选择Database Administration，写SQL Statement： Insert　into 新表名　select *　from 旧表名； Execute　SQL。将旧表中所有字段内容转入新表中。
4.删除表1，从File中选择Dos Open，打开文件名File name即表2.sql，将表2统一改为表1。运行表1.sql，生成新结构的表1，此时无记录。
5.按步骤3，将表2中的记录全部转入表1中。
若将部分字段转入，写SQL Statement：
insert into 新表名（字段１，字段２．．．．．．）
select 字段１，字段２．．．．．．from 旧表名；
Execute　SQL。旧表中部分字段内容转入新表中。
方法２：将表结构和记录以SQL Syntax 文件格式输出
1.从Database中选择要修改的数据库表Table，按Preview键。
2.从File中选择Save Rows as，File　Format 选SQL Syntax，取表名*.sql保存。
3.从File中选择Dos Open，打开表名*.sql，进行修改。
4.取表名后，Execute　SQL。
方法３：将表结构和记录以TXT文件格式输出
1.从Database中打开数据库表，按Preview键。
2.从File中选择Save Rows as，File　Format 选TXT，取表名*.txt保存。
3.将表生成表.sql，修改结构，运行表.sql，此时产生一新的数据库表结构。
4.从Database中打开数据库表，按Preview键。
5.从Rows中选择Import，选*.txt。
6.从File中选择Save changes to Database。
注意：方法１适用于任何修改数据库表结构的任何情况。方法２和方法３对删除字段名不适用。

(李 清)