当前位置:数据库 > Oracle >>

数据库中如何添加一个如xh001每添加一条信息.这个就自增长1。最好是(oracle、mysql、mssql)的。谢谢了。

麻烦高手指点一下。
追问:哥,我想问一下。自增长1的话。能像这种的吗?(xh001、xh002。。。)只是数字的话。以后不好分类了。谢谢你了。
答案:最好是(oracle、mysql、mssql)的?请问你究竟是要哪个数据库的?
Oracle的话就通过触发来做吧
SQL> CREATE TABLE T_TRI (ID VARCHAR2(10) NAME VARCHAR2(10));

表已创建。

SQL> CREATE SEQUENCE SEQ_TRI MINVALUE 1 START WITH 1 INCREMENT BY 1 NOCACHE;

序列已创建。

SQL> CREATE OR REPLACE TRIGGER TRI_TRIGER
  2  BEFORE INSERT ON T_TRI FOR EACH ROW
  3  DECLARE
  4  BEGIN
  5  SELECT 'xh00'||SEQ_TRI.NEXTVAL INTO :NEW.ID FROM DUAL;
  6  END;
  7  /

触发器已创建

SQL> INSERT INTO T_TRI(NAME) VALUES('LONION');

已创建 1 行。                                                           

SQL> INSERT INTO T_TRI(NAME) VALUES('ORACLE');

已创建 1 行。

SQL> COMMIT;

提交完成。

SQL> SELECT * FROM T_TRI;

ID         NAME                                                                 
---------- ----------                                                           
xh001      LONION                                                               
xh002      ORACLE
其他:犬瘟热 本字段设置为自动增加性auto_increment sql

create function xh (@id int)
returns nvarchar(20)
as 
begin
declare @n nvarchar 
select @n=max()from tb 
@n= left(3,('000'+convert(int,(convert(int,rtrim(substring(xh,3,100))+1))
select @n='xh'+@n
return @n
end 从1开始计数 NOMAXVALUE, -- 不设置最大值 NOCYCLE, -- 一直累加,不循环end; 完成以上工作之后,插入数据不用再处理ID,系统会自动添加的。 , 

上一个:数据库怎么去重复,告诉SQL语句,谢谢,oracle,sql server,mysql什么的,应该没什么差别。
下一个:使用oracle客户端和plsql dev连接远程数据库,需要哪些服务

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,