SQL流水号生成语句
table
Num createDate
---------------------------------
(空) 20090901
(空) 20090901
(空) 20090902
(空) 20090902
(空) 20090903
(空) 20090903
---------------------------------
现在要通过createDate来产生一个流水号(4位) 按当天来生成 换天要重新生成
即得到结果如下:
table
Num createDate
---------------------------------
200909010001 20090901
200909010002 20090901
200909020001 20090902
200909020002 20090902
200909030001 20090903
200909030002 20090903
---------------------------------
create table tb(id int , Num varchar(12),createDate varchar(8))
insert into tb values(1,'','20090901')
insert into tb values(2,'','20090901')
insert into tb values(3,'','20090902')
insert into tb values(4,'','20090902')
insert into tb values(5,'','20090903')
insert into tb values(6,'','20090903')
go
update tb set num = createDate + right('000'+cast((select count(1) from tb where createDate = t.createDate and id < t.id) + 1 as varchar),4) from tb t
select * from tb
drop table tb
/*
id Num createDate
----------- ------------ ----------
1 200909010001 2009
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
第一节、SQL注入的一般步骤
首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了。
其次,根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种:
(A) ID=49 这类注入的参数是数字型,SQL语句原貌大致如下:
Select * from 表名 where 字段=49
注入的参数为ID=49 And [查 ......
对于初学者对触发器的理解往往不是很透彻,记得自己当初学的时候总有点摸不清头脑的感觉,今天就想起和大家总结一下,如果文章出现些瑕疵请高手多多指教哦!
触发器是数据库服务器中发生事件时自动执行的特殊存储过程,它插入、删除或修改特表中的数据时触发执行。触发器通常可以强制执行一定的业务规则,以保持数据完整性 ......
一直没有找到一种好的方法来引用有返回值的存储过程的方法,使我在添加数据中走了不少的弯路,最近,在查阅了大量的资料之后,终于在微软的一个实例中找到了一种良好的方法。
首先编写好一有返回值的存储过程
create procedure proc_name
@para1 nchar(20), --输入参数
&n ......
第一题:
为管理业务培训信息,建立3个表:
S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄
C(C#,CN)C#,CN分别代表课程编号,课程名称
SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩
(1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?
(2) 使 ......