SQL 数据库生成自动编号代码
--exec [P_AutoGenerateNumber] 'reception_apply','generate_code','',7
/*
过程说明:生成自动编号
创建时间:2010年1月12日
作者:feng
debug:尚未考虑编号溢出情况
*/
ALTER proc [P_AutoGenerateNumber]
(
@tableName varchar(100)='meeting_apply', --表名
@byteName varchar(100)='generate_code', --字段名
@Remark varchar(10)='M', --标示
@subLen int=4 --截取长度
)
WITH ENCRYPTION
as
declare @SQLString NVARCHAR(4000)
declare @OutputValue int
declare @subLenVar NVARCHAR(20)
declare @TempValue varchar(20)
set @subLenVar =convert(varchar(20),@subLen)
set @TempValue ='00000000000000000000'
declare @OutputValueToVar varchar(20)
set @SQLString = N'select @OutputValueEx=count(*) from '+@tableName+' where generate_code is not null or generate_code!='''''
EXECUTE sp_executesql @SQLString, N'@OutputValueEx int output',@OutputValueEx= @OutputValue output
if @OutputValue !=0
begin
SET @SQLString = N'SELECT @OutputValueEx=max(cast(right('+@byteName+','+@subLenVar+') as int))+1  
相关文档:
(1)SQL方法(1)
select convert(varchar(5),dateadd(hour,number,cast('00:00' as datetime)),108)+'~'+
convert(varchar(5),dateadd(hour,number+1,cast('00:00' as datetime)),108) as [date]
from master..spt_values
where type = 'P' and
number <= 23
(2)SQL方法(2)
得出一天的时间段记录。(如&nb ......
group by主要是用来分组的,怎么个分组呢?
以下用两个例子说明两个使用方面,1是合理的返回合计值(防止笛卡尔积现象),2是用分组来找出重复的记录
====================================================================
★★★例子1:假如有这么一个表:tab_1,它有两个字段:xm、gzlb、je(姓名、工资类别、金额) ......
select *
from
(select [id]=row_number() over (order by getdate()),
date=convert(varchar(8),dateadd(dd,number,'2010-01-01'),112)
from
(select number from master..spt ......
新建表:
create table [表名]
(
[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default '默认值' null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)
删除表:
Drop table [表 ......
连接命令
1.CONNECT(CONN):建立用户连接
语法:CONNECT [USERNAME]/[password][@connect_identifier]
参数:USERNAME:用户名; password:密码; connect_identifier:数据库实例名
例如:CONNECT scott/tiger@ORCL
注意:如果要以特权用户身份连接,则必须带:AS SYSDBA 或 AS SYSOPER选项,
例如:CO ......