创建主键或单号的存储过程

问题描述

如何建一个创建主键或者ID(单号)的存储过程或者函数

解决方案

解决方案二:
createtableHYBG(IDintIDENTITY(1,1)PRIMARYKEY)

解决方案三:
楼上的int有些限制,提供一个方案仅供参考,建一个ID表(IDDecimal),不要自动增长(或者是一个用时间format的字符串),写一个方法或者是存储过程,每次请求将ID+1或者是new一个datetime.now的新key,在方法内部用lock关键字防止ID重复
解决方案四:
存储过程不方便在这里写吧

时间: 2024-10-01 06:16:39

创建主键或单号的存储过程的相关文章

Oracle 创建主键自增表示例代码_oracle

前言 本篇文章给大家主要介绍的是在oracle中如果创建自增长表的方法,这里要用到序列.下面话不多说,我们来看示例代码. 示例代码 create table tb_student ( id NUMBER(10) not null, createtime DATE not null, constraint PK_tb_student primary key (id) ); comment on table "tb_student" is '学生表'; comment on column

MySQL里Create Index 能否创建主键 Primary Key_Mysql

MySQL里Create Index 能否创建主键 Primary Key? 答案: 不能,必须用 Alter table 创建. MySQL一个索引列最大允许的有效长度,不是列的所有数据都被索引的 MyISAM 是 1000字节 InnoDB 是 767 字节 注意这里是字节.

MySQL 创建主键,外键和复合主键的语句_Mysql

1.创建主键语法 ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名); 2.创建外键语法 ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ; 3.使用组合主键 如果一列不能唯一区分一个表里的记录时,可以考虑多个

分区表不建议创建主键的原因

分区表尽量不要建主键,因为建主键的同时会建一个唯一性的全局索引,在drop分区表时如果不指定update global indexes则 会使索引失效,导致数据无法入库. 如果非要建主键,要2种方法: 1.应用上drop 分区表时显示指定update global indexes, 2.将主键上的索引建成本地索引 上述2种方法虽然可以实现,但效果都不好.因为当数据量超大时维护索引也是很大的开销.将主键建成本地索引的方法也比较受限. 将主键建成本地索引方法: 建一个包含(分区列.主键列)的唯一性复

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

1.创建表 复制代码 代码如下: createtableTest_Increase( useridnumber(10)NOTNULLprimarykey,/*主键,自动增加*/ usernamevarchar2(20) ); 2.创建自动增长序列 复制代码 代码如下: CREATESEQUENCETestIncrease_Sequence INCREMENTBY1--每次加几个 STARTWITH1--从1开始计数 NOMAXVALUE--不设置最大值,设置最大值:maxvalue9999 NO

MySQL复制(3) 创建主备复制(从另一个服务器开始复制)

前一篇讲到的创建主备复制是假设主备库都为刚刚安装好的数据库,也就是说两台服务器上的数据相同,这不是典型 的案例,大多数情况下有一个已经运行了一段时间的主库,然后用一台新安装的备库与之同步,本文讲述在这种情况下 该如何配置. 1.在备库的主机上安装MySQL,注意备库的版本不能低于主库. 2.备份主库,复制备份文件到备库,并在备库上恢复. 可以有很多种方法实现上述过程,我这里介绍的是利用innobackupex在线备份主库,这样就不需要停主库(注意: innobackupex只适用于MyISAM和

MySQL复制(2) 主备库都为空的情况下创建主备复制

本文适用于新安装的主库和备库,假定主备库为空,如果你是从已存在的主库复制,请转到<[MySQL] 复制(3)- 创建主备复制(从另一个服务器开始复制)> 主库的配置 主库需要打开二进制日志,并制定一个唯一的server id,my.cnf文件中增加或修改如下内容: server_id=60 log-bin = /data/mysql/log/mysql-bin 备库的配置 备库my.cnf的配置如下: server_id=61 read_only=1 log_bin = /data/mysql

语句-SQL 列名是requetID(单号) 表名(product)

问题描述 SQL 列名是requetID(单号) 表名(product) 如何能实现当查找requestID单号不存在时 添加这条单号 ,当单号存在删除这个单号在添加 SQL语句怎么写呀 请各位大神帮帮忙 代码怎么写 解决方案 如果你用代码写,就是分几步,一步步走,先判断,然后再插入,删除 你还可以写个存储过程,里面也一样是先判断,在做事 当然你还可以写比较复杂的sql,用exsist判断 解决方案二: 直接delete掉,然后再执行insert操作就好了,反正存在不存在你都要执行删除操作,就不

让系统自动生成入库单号

问题描述 我现在在做一个仓库管理系统,现在有一个问题,今天仓库进来一批产品,把这些产品入库让系统自动生成一个入库单号,并且这批产品的入库单号必须相同,下午在进来另一批产品,入库时系统自动生成另一个入库单号.这个如何在数据库实现或是在C#实现 解决方案 解决方案二:没说明白...解决方案三:你说的是生成批号吧,这个在c#里面实现比较简单点,用当前日期时间做批号,到时候看批号就知道是什么时候入库的解决方案四:一般都是用系统时间再加上其他标识码.解决方案五:楼主应该说的更详细些,帮顶!解决方案六:同一