PB修改数据库表结构的技巧

PowerBuilder是目前公认的、最佳的数据库前端开发工具之一。在实际开发应用中,经常会遇到修改数据库表结构的情况。用PowerBuilder修改数据库表结构与用Foxbase修改数据库结构不同。在PowerBuilder中,除可以在数据库表结构中添加字段名外,无法直接修改数据库表结构,如删除某个字段名或类型或字段名长度等,都会导致数据库表记录的丢失。我们通过实践探索,总结了几种方法仅供大家

参考,请大家批评指正。

一、修改数据库表结构,数据库表中没有记录

方法1:将表结构以ExportTable文件格式输出。

Database中选择要修改的数据库表Table

Objects中选择ExportTableViewSyntaxtoLog,取名保存即选SaveLogAs,以*.sql格式保存。

Objects中选择DatabaseAdministration

File中选择DosOpen,选文件名Filename*.sql,打开进行修改。

Objects中选择Execute SQL。即产生一新的数据库表结构。

注意:Table名不要同名。

方法2:将表结构以SQLSyntax文件格式输出。

Database中选择要修改的数据库表Table

Preview键。

File中选择SaveRowsasFileFormatSQLSyntax,取表名*.sql保存。

File中选择DosOpen,打开表名*.sql,进行修改。

取表名后,Execute SQL

注意:此种方法没有生成PrimaryKey

二、修改数据库表结构,保存原数据库表中记录

方法1:先修改数据库表结构,用SQL语句转移数据库表中记录

将表1生成表1.sql,修改结构,将表1另取名为表2

运行表2.sql,生成表2。此时产生一新的数据库表结构。

Objects中选择DatabaseAdministration,写SQLStatementInsert into新表名 

select* from旧表名;Execute SQL。将旧表中所有字段内容转入新表中。

删除表1,从File中选择DosOpen,打开文件名Filename即表2.sql,将表2统一改为表1。运行表1.sql

,生成新结构的表1,此时无记录。

按步骤3,将表2中的记录全部转入表1中。
  

若将部分字段转入,写SQLStatement
  
insertinto
新表名(字段1,字段2......)
  

select
字段1,字段2......from旧表名;

Execute SQL。旧表中部分字段内容转入新表中。

方法2:将表结构和记录以SQLSyntax文件格式输出。


Database中选择要修改的数据库表Table,按Preview键。

File中选择SaveRowsasFile FormatSQLSyntax,取表名*.sql保存。

File中选择DosOpen,打开表名*.sql,进行修改。

取表名后,Execute SQL

方法3:将表结构和记录以TXT文件格式输出。
Database中打开数据库表,按Preview键。

File中选择SaveRowsasFile FormatTXT,取表名*.txt保存。

将表生成表.sql,修改结构,运行表.sql,此时产生一新的数据库表结构。

Database中打开数据库表,按Preview键。

Rows中选择Import,选*.txt

File中选择SavechangestoDatabase

你可能感兴趣的:(数据库)