惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
NISL@THU
NISL@THU
E
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
K
Kaspersky official blog
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
S
Schneier on Security
G
GRAHAM CLULEY
The Hacker News
The Hacker News
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
AWS News Blog
AWS News Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
爱范儿
爱范儿
P
Privacy International News Feed
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
S
Securelist
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Google Online Security Blog
Google Online Security Blog
美团技术团队
F
Fortinet All Blogs
小众软件
小众软件
Recorded Future
Recorded Future
V
Visual Studio Blog
B
Blog RSS Feed
H
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
Latest news
Latest news
Spread Privacy
Spread Privacy
H
Heimdal Security Blog

博客园 - 秋雨飘飘

显示日期的javascript日历 Iframe的基础应用——关于Iframe刷页问题的两种方法 关于left join的讨论 往表中允许为null的字段插入null值 - 秋雨飘飘 - 博客园 sql查询最大最小值 SQL Server CHARINDEX和PATINDEX详解 sql行列转换 sql语句优化的一些测试函数 数据库管理常用SQL SQL Server 中多行多列连接成为单行单列 T-SQL 编程规范和优化技巧 (转)SQL Server 索引结构及其使用 - 秋雨飘飘 动态查询SQL中变量的返回值 存储过程的编写经验 求薪水第三高的雇员的SQL题(图解) 表连接的比较left join/right join/inner join sql 视图 sql 日期函数之对于周的处理 如何提升checkbox的用户体验
存储过程的作用是自动生成编号
秋雨飘飘 · 2007-07-20 · via 博客园 - 秋雨飘飘

=============================================
-- Author:        <vagerent>
--
 Create date: <2006-12-14>
--
 Description:    <获取编码,形如HEAD20060512000001;(头+日期+6位整数)后面为六位,每新的一年编号重新

归0
>
-- =============================================
Create PROCEDURE [dbo].[mp_GetPKNo]
    
@sTableName varchar(50),
    
@sFieldName varchar(50),--目标字段
    @sHead varchar(50),--前缀,如Head等
    @sPK varchar(50) out --输出

AS
BEGIN
    
declare @dToday datetime,@sToday varchar(10),
        
@sYear varchar(10),@sSubID varchar(20),@sSql nvarchar(1000);--动态sql一定要用

nvarchar!!!
    
    
set @dToday = getdate();
    
set @sToday = Convert(varchar,Year(@dToday))
        
+SubString(Convert(varchar,Month(@dToday)+100),2,2)
        
+SubString(Convert(varchar,Day(@dToday)+100),2,2);
    
--select @sToday--形如20060512
    set @sYear=Convert(varchar(10),Year(getdate()))
    
--select @sYear--形如2006
    
    
declare @sHead1 varchar(30),@iHeadLength int;
    
set @sHead1=@sHead+@sYear;--形如HEAD2006
    --select @sHead1;--形如HEAD2006
    set @iHeadLength=Len(@sHead1);
    
--select @iHeadLength;--形如6
    set @sSql = N'select @sSubID=Max(SubString('
        
+@sFieldName+','+Convert(varchar(10),@iHeadLength+5)+',6)) from '
        
+@sTableName+' where SubString('+@sFieldName+',1,'
        
+Convert(varchar(10),@iHeadLength)+')='''+@sHead1+'''';
    
--select @sSql;--形如select..
    exec sp_executesql @sSql,N'@sSubID varchar(20) output',@sSubID output;

    
if ((@sSubID=''or (@sSubID is null))
        
set @sSubID='000001'
    
else
    
begin
        
declare @iSubID int;
        
set @iSubID=Convert(int,@sSubID)+1000001;
        
set @sSubID=SubString(Convert(varchar,@iSubID),2,6)
    
end
    
--select @sSubID;
    set @sPK=@sHead+@sToday+@sSubID;

return
END