分享

sybase数据库导出表结构

 云淡风轻轻123 2010-11-30

   在不同平台上导数据时,只能用BCP命令,但是BCP命令不能导出数据库表结构,所以需进行数据库表结构的导出。 在sybase12.5版本以上,可以用如下方式导出表结构: ddlgen –Usa –Pxxx –Ddb_name –Sxxx:port –Ooutput_file 其中db_name指所要导出的数据库名。 ******************************************** 低于sybase12.5版本的,得进行执行脚本的方式导出表结构。脚本文件内容如下: use sybsystemprocs go if object_id('dbo.sp_ddl_create_table') is not null drop procedure sp_ddl_create_table print "Dropping sp_ddl_create_table" go create proc sp_ddl_create_table as -- Creates the DDL for all the user tables in the -- current database select right('create table ' + so1.name + '(' + ' ', 255 * ( abs( sign(sc1.colid - 1) - 1 ) ) )+ sc1.name + ' ' + st1.name + ' ' + substring( '(' + rtrim( convert( char, sc1.length ) ) + ') ', 1, patindex('%char', st1.name ) * 10 ) + substring( '(' + rtrim( convert( char, sc1.prec ) ) + ', ' + rtrim( convert( char, sc1.scale ) ) + ') ' , 1, patindex('numeric', st1.name ) * 10 ) + substring( 'NOT NULL', ( convert( int, convert( bit,( sc1.status & 8 ) ) ) * 4 ) + 1, 8 * abs(convert(bit, (sc1.status & 0x80)) - 1 ) ) + right('identity ', 9 * convert(bit, (sc1.status & 0x80)) ) + right(',', 5 * ( convert(int,sc2.colid) - convert(int,sc1.colid) ) ) + right(' ) ' + 'go' + ' ' + ' ', 255 * abs( sign( ( convert(int,sc2.colid) - convert(int,sc1.colid) ) ) - 1 ) ) from sysobjects so1, syscolumns sc1, syscolumns sc2, systypes st1 where so1.type = 'U' and sc1.id = so1.id and st1.usertype = sc1.usertype and sc2.id = sc1.id and sc2.colid = (select max(colid) from syscolumns where id = sc1.id) order by so1.name, sc1.colid go if object_id('dbo.sp_ddl_create_table') is not null begin grant execute on sp_ddl_create_table to public print "Created sp_ddl_create_table" end else print "Failed to create sp_ddl_create_table" go ************************************************************** 查看具体某数据库表结构方法如下,以查看nbcredit数据库表结构为例: 编辑脚本文件script.txt,保存在c:\,内容如下: use nbcredit go sp_ddl_create_table go 然后执行以下语名:isql –Usa –Pxxx –b –i script.txt –o scriptout.txt 其中scriptout.txt文件的内容即为整个数据库表结构。
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多