--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数据库中实现自增主键是一项常见但非常重要的功能。这不仅有助于确保数据的唯一性,还能简化开发过程中的某些环节,尤其是在需要自动增长的主键时。下面将详细介绍如何通过序列(Sequence)和触发器...
Spring框架提供了多种主键生成策略,其中`GenerationType.IDENTITY`是最直接对应于数据库自增主键的方式。然而,为了更好地适应各种应用场景,Spring还支持`GenerationType.TABLE`、`GenerationType.SEQUENCE`以及`...
数据库自增列主键在数据库还原时百分百会出问题 为解决该问题特开发自定义式的主键 创建一个监控表,一个被调用的存储过程即可,推荐有存储过程编广泛使用的程序使用 调用方法 DECLARE @PKID CHAR(12)='' EXEC [dbo]....
### PowerDesigner 创建 Oracle 数据库表并设置主键自动增长 #### 一、PowerDesigner与Oracle数据库集成概述 PowerDesigner是一款强大的数据库设计工具,它能够帮助开发者进行数据建模、概念设计以及物理数据库的...
导入编辑好的DDL脚本,执行它以在MySQL中创建对应的表结构。 4. **数据迁移**: 表结构创建好后,你可能还需要迁移数据。在Navicat中,可以使用“数据传输”功能。选择源(SQL Server)和目标(MySQL)数据库,...
2. **SQL Server数据库设置**:创建一个目标数据库和对应的表结构,表结构应与Excel文件中的列对应。可以使用SQL Server Management Studio (SSMS) 创建数据库和表,定义好主键、索引和其他约束。 3. **导入方法...
本篇详细介绍了如何在Oracle数据库中创建一张包含自动增长主键的表`tuser`,并通过创建序列和触发器实现了这一功能。这种做法不仅能够简化主键管理的工作量,还能够确保数据的一致性和完整性。对于实际应用来说,这...
在Oracle数据库中,自增主键是一种常见的主键设计方式,它能够确保每条记录的唯一性,并且在插入新记录时自动递增,简化了数据管理流程。本文将详细介绍如何在Oracle中设置自增主键。 #### 一、创建序列(Sequence...
在数据库设计中,自增主键是一种常见的策略,它用于为表中的每一行生成一个唯一的标识符。在MyBatis这个流行的Java持久层框架中,处理自增主键的值通常涉及到插入数据后如何获取新生成的ID。下面将详细阐述MyBatis...
在MyBatis中,处理自增主键是一个常见的需求,特别是在Oracle和MySQL这两个数据库中。Oracle通常使用Sequence来生成自增主键,而MySQL则直接通过表定义的自增属性来处理。以下将详细讲解这两种数据库在MyBatis中的...
总的来说,Java中的JDBC提供了一种灵活且强大的方式来处理数据库操作,包括插入记录并获取自增主键。正确地使用预编译的`PreparedStatement`可以提高代码的可读性和安全性,同时,通过设置`RETURN_GENERATED_KEYS`...
在Oracle数据库中,创建主键自增表是一项常见的任务,这有助于确保每个新插入的记录都有一个唯一的标识符。下面将详细讲解如何通过SQL语句实现这一功能,并结合触发器的应用来自动增加主键。 首先,我们创建一个...
在Oracle数据库中,自增主键是一种非常实用且常见的设计模式,它能够确保表中的每一条记录都拥有一个唯一的标识符,这对于数据的管理和查询非常重要。本文将详细介绍如何在Oracle中实现自增主键的功能。 #### 创建...
如果没有主键的数据表,增加一个字段名称为 id,类型为 int 型,标识为自增 1 的字段。 3. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行 SQLSERVER 服务器的注册。在企业管理器里面注册的服务器,...
在数据库中创建表之前,首先需要创建一个数据库。下面是关于MySQL创建数据库和表的一些知识点: 1. 创建数据库 在MySQL中创建数据库通常使用CREATE DATABASE语句。该语句的基本语法如下: ```sql CREATE DATABASE ...
在Oracle数据库管理中,创建自增主键是一种常见的需求,尤其是在需要自动为表中的每一行记录分配一个唯一标识符的情况下。本文将详细介绍如何利用Oracle提供的`SEQUENCE`和`TRIGGER`来实现自增主键。 #### 一、概述...
在JPA中,主键策略是指生成主键的机制,用于标识数据库表中的每一行记录。在本文中,我们将详细讨论JPA主键策略的类型、特点和应用场景。 GenerationType.IDENTITY GenerationType.IDENTITY 是一种常用的主键...
例如,`create table Contact1`创建了一个名为`Contact1`的表,其中包含了如`pid`(自增主键)、`Cname`(姓名)、`Mobile`(手机号码)等字段。每个字段都有其特定的数据类型和约束条件,如`Mobile char(11) unique...
不过,应谨慎使用自增主键,因为它可能暴露表的数据结构。通常建议使用业务相关的唯一标识作为主键,这样既能保证唯一性,又能提高数据安全性。 综上所述,Oracle虽然不像某些数据库那样提供直接的主键自增功能,但...