数据库中如何添加一个如xh001每添加一条信息.这个就自增长1。最好是(oracle、mysql、mssql)的。谢谢了。
麻烦高手指点一下。
追问:哥,我想问一下。自增长1的话。能像这种的吗?(xh001、xh002。。。)只是数字的话。以后不好分类了。谢谢你了。
麻烦高手指点一下。
追问:哥,我想问一下。自增长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连接远程数据库,需要哪些服务