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

SQL创建数据库中所有用户数据表自增一主键

 
阅读更多

--SQL创建数据库中所有用户数据表自增一主键
--主键说明:名称为ID,数据类型为整形自增一

--查询创建前的当前数据库所有约束
select * from information_schema.key_column_usage

declare @TableName nvarchar(250)
declare @ColumnName nvarchar(250)
set @ColumnName='ID'
--声明读取数据库所有数据表名称游标mycursor1
declare mycursor1 cursor for select name from dbo.SysObjects WHERE OBJECTPROPERTY(ID, 'IsUserTable') = 1
--打开游标
open mycursor1
--从游标里取出数据赋值到我们刚才声明的数据表名变量中
fetch next from mycursor1 into @TableName
--如果游标执行成功
while (@@fetch_status=0)
begin

--如果存在主键列
IF EXISTS (select * from syscolumns Where ID=OBJECT_ID(N'['+@TableName+']') and name=''+@ColumnName+'')
begin
exec ('ALTER TABLE ['+@TableName+'] DROP COLUMN '+@ColumnName+'')
end

exec ('ALTER TABLE ['+@TableName+'] ADD '+@ColumnName+' [int] IDENTITY(1,1) NOT NULL PRIMARY KEY')


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

--关闭游标
close mycursor1
--撤销游标
deallocate mycursor1

--查询创建后的当前数据库所有约束
select * from information_schema.key_column_usage

分享到:
评论

相关推荐

    创建oracle数据库中表的主键和自增

    在Oracle数据库中实现自增主键是一项常见但非常重要的功能。这不仅有助于确保数据的唯一性,还能简化开发过程中的某些环节,尤其是在需要自动增长的主键时。下面将详细介绍如何通过序列(Sequence)和触发器...

    解决spring自增型主键问题

    Spring框架提供了多种主键生成策略,其中`GenerationType.IDENTITY`是最直接对应于数据库自增主键的方式。然而,为了更好地适应各种应用场景,Spring还支持`GenerationType.TABLE`、`GenerationType.SEQUENCE`以及`...

    SqlServer 永不重复的主键(非自增列)

    数据库自增列主键在数据库还原时百分百会出问题 为解决该问题特开发自定义式的主键 创建一个监控表,一个被调用的存储过程即可,推荐有存储过程编广泛使用的程序使用 调用方法 DECLARE @PKID CHAR(12)='' EXEC [dbo]....

    excel数据导入到sql server数据库中,

    2. **SQL Server数据库设置**:创建一个目标数据库和对应的表结构,表结构应与Excel文件中的列对应。可以使用SQL Server Management Studio (SSMS) 创建数据库和表,定义好主键、索引和其他约束。 3. **导入方法...

    Oracle数据库创建表tuser设置主键自动增长

    本篇详细介绍了如何在Oracle数据库中创建一张包含自动增长主键的表`tuser`,并通过创建序列和触发器实现了这一功能。这种做法不仅能够简化主键管理的工作量,还能够确保数据的一致性和完整性。对于实际应用来说,这...

    ORACLE自增主键设置方法

    在Oracle数据库中,自增主键是一种常见的主键设计方式,它能够确保每条记录的唯一性,并且在插入新记录时自动递增,简化了数据管理流程。本文将详细介绍如何在Oracle中设置自增主键。 #### 一、创建序列(Sequence...

    mybatis获取自增主键的值

    在数据库设计中,自增主键是一种常见的策略,它用于为表中的每一行生成一个唯一的标识符。在MyBatis这个流行的Java持久层框架中,处理自增主键的值通常涉及到插入数据后如何获取新生成的ID。下面将详细阐述MyBatis...

    mybatis自增主键文档

    在MyBatis中,处理自增主键是一个常见的需求,特别是在Oracle和MySQL这两个数据库中。Oracle通常使用Sequence来生成自增主键,而MySQL则直接通过表定义的自增属性来处理。以下将详细讲解这两种数据库在MyBatis中的...

    jdbc 插入记录并返回自增主键值

    总的来说,Java中的JDBC提供了一种灵活且强大的方式来处理数据库操作,包括插入记录并获取自增主键。正确地使用预编译的`PreparedStatement`可以提高代码的可读性和安全性,同时,通过设置`RETURN_GENERATED_KEYS`...

    Oracle创建主键自增表(sql语句实现)及触发器应用

    在Oracle数据库中,创建主键自增表是一项常见的任务,这有助于确保每个新插入的记录都有一个唯一的标识符。下面将详细讲解如何通过SQL语句实现这一功能,并结合触发器的应用来自动增加主键。 首先,我们创建一个...

    powerdesigner创建oracle_数据库表,设置表主键列为自动增长

    ### PowerDesigner 创建 Oracle 数据库表并设置主键自动增长 #### 一、PowerDesigner与Oracle数据库集成概述 PowerDesigner是一款强大的数据库设计工具,它能够帮助开发者进行数据建模、概念设计以及物理数据库的...

    oracle中设置自增主键参考

    在Oracle数据库中,自增主键是一种非常实用且常见的设计模式,它能够确保表中的每一条记录都拥有一个唯一的标识符,这对于数据的管理和查询非常重要。本文将详细介绍如何在Oracle中实现自增主键的功能。 #### 创建...

    SqlServer数据库同步方案详解

    如果没有主键的数据表,增加一个字段名称为 id,类型为 int 型,标识为自增 1 的字段。 3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行 SQLSERVER 服务器的注册。在企业管理器里面注册的服务器,...

    oracle表的id自增sql

    oracle 数据库建表id自增的sql语句创建sequence的名称,S_out_gold这个为

    Oracle建立自增主键

    在Oracle数据库管理中,创建自增主键是一种常见的需求,尤其是在需要自动为表中的每一行记录分配一个唯一标识符的情况下。本文将详细介绍如何利用Oracle提供的`SEQUENCE`和`TRIGGER`来实现自增主键。 #### 一、概述...

    JPA主键策略(针对数据库自增字段重置后无效检查项)

    在JPA中,主键策略是指生成主键的机制,用于标识数据库表中的每一行记录。在本文中,我们将详细讨论JPA主键策略的类型、特点和应用场景。 GenerationType.IDENTITY GenerationType.IDENTITY 是一种常用的主键...

    数据库手机管理系统,sql编写

    例如,`create table Contact1`创建了一个名为`Contact1`的表,其中包含了如`pid`(自增主键)、`Cname`(姓名)、`Mobile`(手机号码)等字段。每个字段都有其特定的数据类型和约束条件,如`Mobile char(11) unique...

    Oracle中主键自增实例

    不过,应谨慎使用自增主键,因为它可能暴露表的数据结构。通常建议使用业务相关的唯一标识作为主键,这样既能保证唯一性,又能提高数据安全性。 综上所述,Oracle虽然不像某些数据库那样提供直接的主键自增功能,但...

    得到当前数据库中所有用户表信息

    根据提供的标题、描述、标签及部分内容,我们可以了解到这段内容主要涉及如何通过SQL查询来获取当前数据库中的所有用户表信息。接下来,我们将详细解析并总结出其中的重要知识点。 ### 知识点一:获取当前数据库中...

Global site tag (gtag.js) - Google Analytics