`
xqf222
  • 浏览: 118320 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SQL 读取数据库中所有数据表的所有约束类型名称和默认值

 
阅读更多

--设计初衷:转换简体版本的数据表到繁体版本
--使用游标查询所有用户数据表
Declare @CurrentTableName nvarchar(250)
Declare UserTableCursor Cursor For --声明游标
Select name From sysobjects where xtype='U' and category='2561' order by name
Open UserTableCursor --打开游标
FETCH NEXT From UserTableCursor --获取游标的下一行
--使变量获得当前游标指定行的Name
into @CurrentTableName
While @@FETCH_STATUS = 0 --FETCH语句执行成功
BEGIN
--查询当前数据表中所有的约束
print N'当前数据表名'+@CurrentTableName
--使用游标查询指定用户数据表中的约束
Declare @ConstraintType nvarchar(250)
Declare @ConstraintName nvarchar(250)
Declare @ConstraintValue nvarchar(250)
Declare ConstraintCursor Cursor For Select a.xtype as 约束类型,a.name as 约束名称,isnull(b.text,N'NULL') as 默认值 From sysobjects a left outer join syscomments b on a.id = b.id where (OBJECTPROPERTY(a.id, N'IsMSShipped') = 0) and a.parent_obj=(Select id From sysobjects where name = @CurrentTableName)
Open ConstraintCursor --打开游标
FETCH NEXT From ConstraintCursor --获取游标的下一行
--使变量获得当前游标指定行的Name
into @ConstraintType,@ConstraintName,@ConstraintValue
While @@FETCH_STATUS = 0 --FETCH语句执行成功
BEGIN
--查询当前数据表中所有的约束
print N'当前数据表名'+@CurrentTableName+N'约束类型'+@ConstraintType+N'约束名称'+@ConstraintName+N'默认值'+@ConstraintValue

FETCH NEXT From ConstraintCursor --获取游标的下一行
--使变量获得当前游标指定行的Name,CycleBeginTime,CycleEndTime
into @ConstraintType,@ConstraintName,@ConstraintValue
END
CLOSE ConstraintCursor --关闭游标
DEALLOCATE ConstraintCursor --释放游标

FETCH NEXT From UserTableCursor --获取游标的下一行
--使变量获得当前游标指定行的Name,CycleBeginTime,CycleEndTime
into @CurrentTableName
END
CLOSE UserTableCursor --关闭游标
DEALLOCATE UserTableCursor --释放游标

分享到:
评论

相关推荐

    orcale常用命令

    数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。 我们不能手工修改数据字典里的信息。  很多时候,一般的ORACLE用户不知道如何有效地利用它。  dictionary...

    Toad 使用快速入门

    例如,当我们点一个数据库的表,所有和此表相关的索引、约束、存储过程、SQL语句以及和其他表的相互引用关系都在同一界面显示出来。为了简化操作,用户可以在浏览窗口操作数据库对象。 SQL 编辑器: SQL 编辑器的...

    oracle详解

    oracle会避开sql语句处理引擎,直接从数据库文件中读取数据,然后写入导出文件. 可以在导出日志中观察到: exp-00067: table xxx will be exported in conventional path 如果没有使用直接路径,必须保证buffer参数的值...

    最全的oracle常用命令大全.txt

    数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。 我们不能手工修改数据字典里的信息。  很多时候,一般的ORACLE用户不知道如何有效地利用它。  dictionary...

    Direct Oracle Access v4.1.3 bcb6

    TOracleDataSet可以在运行时使用Oracle字典内的信息,在客户端检查服务器约束,并在消息表中读取约束错误消息。能够从字典中获得格式屏蔽、区域值和默认值。这样,您所创建的应用程序将尽可能少的含有编译为可执行...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。  SQL语言主要包含5个部分  数据定义...

Global site tag (gtag.js) - Google Analytics