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

SQL查找数据库中所有没有主键的数据表脚本

 
阅读更多

--SQL查找数据库中所有没有主键的数据表脚本

--运行脚本后在消息中可能会显示下面现象中的一种:
--(1)数据库中所有数据表都有主键(则证明所有数据表都有主键)
--(2)当前数据表[数据表名]没有主键(则可方便找到没主键的数据表)

declare @TableName nvarchar(250)--游标中取出的数据表名
declare @AllTableHasPrimaryKey int--是否全部都有主键
set @AllTableHasPrimaryKey=1
--声明读取数据库所有数据表名和编号的游标
declare mycursor cursor for select name from dbo.SysObjects WHERE OBJECTPROPERTY(ID, 'IsUserTable') = 1 order by name
--打开游标
open mycursor
--从游标里取出数据赋值到我们刚才声明的数据表名变量中
fetch next from mycursor into @TableName
--如果游标执行成功
while (@@fetch_status=0)
begin

--判断当前数据表是否存在主键
IF NOT EXISTS (select * from information_schema.key_column_usage where TABLE_NAME=''+@TableName+'')
begin
set @AllTableHasPrimaryKey=0;
print '当前数据表['+@TableName+']没有主键'
end

--用游标去取下一条记录
fetch next from mycursor into @TableName
end

if(@AllTableHasPrimaryKey=1)
begin
print '数据库中所有数据表都有主键'
end

--关闭游标
close mycursor
--撤销游标
deallocate mycursor
--脚本代码结束

分享到:
评论

相关推荐

    excel生成sql脚本

    在“表结构说明及SQL生成文档.xls”中,可能包含了数据库中的各个表的字段定义,如字段名、数据类型、长度、是否为主键等信息。这些信息是生成SQL脚本的基础,因为它们定义了数据库的架构。你可以通过整理这些信息,...

    《SQL入门经典 第五版 》数据库创建脚本

    根据提供的信息,《SQL入门经典第五版》中的数据库创建脚本主要涵盖了数据库的创建、表的定义以及数据插入等几个方面。接下来将详细解读并总结这些关键知识点。 ### 数据库的创建 首先,脚本通过 `CREATE DATABASE...

    SQL SERVER 数据库结构对比工具

    3. **架构**:数据库的逻辑设计,包括表的结构(字段、数据类型、主键、外键等)和关系模型。 4. **索引**:加速数据检索的物理结构,如B树索引、聚集索引、非聚集索引等。 5. **备份与恢复策略**:确保数据的安全性...

    SQL表记录脚本生成器

    SQL表记录脚本生成器是一种实用工具,专为数据库管理员和开发人员设计,它能够方便地将数据库中的表结构、索引以及所有记录转换为SQL脚本。这种工具在数据备份、迁移和恢复过程中扮演着关键角色,尤其对于那些需要...

    世界国家、省、市的数据库sql

    标题中的“世界国家、省、市的数据库sql”指的是一个包含全球国家、省份和城市信息的SQL数据库脚本。这个数据库脚本设计用于快速构建一个地理信息系统,或者为需要处理国际地址数据的应用程序提供基础数据。 描述中...

    SqlServer数据库结构比较工具

    1. 表结构比较:该工具能够对比两个SQL Server数据库中的表结构,包括字段名、字段类型、主键、外键、索引等信息,帮助用户发现并修正结构差异。 2. 存储过程对比:比较存储过程的定义,检查不同数据库间的代码差异...

    SQLSERVER数据库结构比较工具

    3. **执行比较**:工具会扫描两个数据库的所有对象,查找表结构、字段、索引、约束等方面的差异。 4. **分析结果**:比较完成后,结果将以清晰的报告形式展示,包括新增、删除、修改的对象列表。 5. **同步操作**...

    全国省、市、区、村居数据mysql数据库脚本直接导入(含表结构)

    脚本中的"表结构"是指数据库中的表格设计,通常包括字段名、字段类型、主键、外键等信息。在本案例中,可能包含以下关键字段: 1. 行政区划代码:这是中国行政区划的唯一标识,通常由6位数字组成,如省级的前两位...

    全国省市区数据库SQL脚本文件

    全国省市区数据库SQL脚本文件是一组用于构建和管理包含中国所有省份、城市及区县信息的数据库结构的脚本。这些脚本通常用于开发地理信息系统(GIS)、电子商务平台、物流系统或者任何需要处理中国地理位置数据的应用...

    全国五级地址数据库sqlserver

    该压缩包文件可能包含了一系列SQL脚本,用于在SQL Server数据库管理系统中创建、填充和管理全国五级地址的数据表。这些脚本通常包括以下几个部分: 1. **数据库设计**:首先,需要设计合理的数据库模式来存储地址...

    谷粒商城(学习笔记) sql文件

    在这个压缩包中,我们能找到“gulimall-sql”这个子文件夹,它很可能是包含了创建表、插入数据以及可能的数据库配置等所有必要的SQL语句。接下来,我们将深入探讨SQL语言在数据库设计和管理中的重要性,以及在构建...

    sql —server 实验脚本

    在SQL Server数据库管理中,实验脚本是一种非常重要的学习和实践工具,它们通常包含了各种数据库操作,例如创建数据库、表,插入数据,更新查询,以及更复杂的事务处理、存储过程和触发器等。以下是对"sql-server ...

    SQL 比对工具,更好比较两个数据库的差异

    在使用SQL比对工具时,务必谨慎操作,特别是同步脚本,因为它可能会影响到数据库中的实际数据。在执行任何更改前,最好先备份数据库,以防意外情况。 总之,SQL比对工具是数据库管理员和开发者的得力助手,它们能...

    SQL Server数据库.rar

    例如,Microsoft SQL Server Management Studio (SSMS) 是一个常用的免费工具,用于数据库管理和开发,它提供了一个可视化的环境,用户可以在这里创建数据库、表、索引、视图、存储过程等,并执行查询和脚本。...

    employees的sql脚本

    "employees"通常代表一个包含员工数据的数据库表,而"employees的SQL脚本"则是一系列用SQL语句编写的命令,用于创建、更新或操作这个"employees"表。本文将深入探讨SQL脚本的核心概念,并以"myemployees.sql"为例,...

    比对两个数据库中表的差异

    1. **SQL脚本比对**:编写SQL脚本来导出每个数据库的表结构和数据,然后通过文本比对工具(如Beyond Compare)来查找差异。 2. **数据库比对工具**:有许多专业工具如Red Gate的SQL Compare、SQL Data Compare,...

    Oracle PL/SQL实例精解 数据库建立代码

    在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨如何在Oracle数据库中使用PL/SQL来构建一个名为"student"的模式,这包括创建数据库对象如表、索引,以及填充样本数据。 首先,"student"模式可能包含一...

    古诗名句sqlserver数据脚本

    结合标签“古诗,数据库”,我们可以推断这个数据脚本将涉及如何在SQL Server中创建表来存储古诗信息,如诗人、诗名、朝代、诗句内容等字段,并可能包含插入语句来填充这些数据。此外,可能还有查询语句示例,用于...

    SQL Server数据库查询优化方法探究

    在SQL Server数据库中,Transact-SQL是一种用于实现客户端应用程序与服务器数据库之间通信的重要脚本语言。下面介绍几种常用的SQL Server查询优化方法: 1. **合理使用索引**:索引可以显著提高查询效率。创建索引...

    oracle批量添加主键

    总之,在Oracle数据库中批量添加主键是一个涉及多个步骤的过程,包括查找无主键的表、编写和执行`ALTER TABLE`语句以及处理可能存在的重复数据。这个过程需要谨慎操作,确保数据的完整性和一致性。同时,合理规划和...

Global site tag (gtag.js) - Google Analytics