zoukankan      html  css  js  c++  java
  • SQL主键Code字符串拼接

     1 set ANSI_NULLS ON
     2 set QUOTED_IDENTIFIER ON
     3 GO
     4 -- ================================================
     5 -- Proc Function : 拼接字符串主键
     6 -- Create Date   : 2012-02-07
     7 -- Update Date   : 2012-02-08
     8 -- Create User   :zhangpan
     9 -- Update User   :
    10 -- Description   : 拼接字符串主键--如ZP2012020700001
    11 -- Parameter     :@Str 前缀-如ZP
    12 --                  @tableName 操作的表名称
    13 --                  @primaryName 表字段名称
    14 -- ================================================
    15 ALTER  PROCEDURE [dbo].[Proc_GetPrimaryKey]
    16     @str VARCHAR(4),
    17     @tableName VARCHAR(50),
    18     @primaryName VARCHAR(50)
    19 AS
    20 BEGIN
    21     --获取上一个数字
    22     DECLARE @sql VARCHAR(2000);
    23     DECLARE @rightNum INT;
    24     DECLARE @NumStr VARCHAR(15);
    25     --创建临时表,存储取出的值
    26     CREATE TABLE #Tmp(
    27         id VARCHAR(15)
    28     )
    29     --插入临时表
    30     SET @sql = 'INSERT INTO #Tmp SELECT top 1 '+@primaryName+' FROM '
    31             +@tableName+' ORDER BY '+@primaryName+' DESC'
    32     exec (@sql);
    33     --设置字符串
    34     SET @NumStr = (SELECT TOP 1 id FROM #Tmp);
    35     IF @NumStr IS NULL OR @NumStr =''
    36     BEGIN
    37      SET @NumStr = @str+CONVERT(VARCHAR(8),GETDATE(),112)+'00000'
    38     END
    39     DROP TABLE #tmp;
    40     PRINT @NumStr;
    41     --截取最后的数值信息
    42     SET @rightNum = SUBSTRING(@NumStr,11,5); 
    43     
    44     SELECT (@str+CONVERT(VARCHAR(8),GETDATE(),112)+RIGHT('0000'+CONVERT(VARCHAR(5),@rightNum+1),5)) primaryKey;
    45     
    46 END
    47 GO
    48 
    49 
    50 --EXEC [Proc_GetPrimaryKey] 'AC','jdzx_union_Cemetery_Area','area_code'
  • 相关阅读:
    面向对象的相关知识
    模块的导入
    正怎表达式在爬虫里的应用
    前端~css
    CSS知识点
    初识Html
    Python之路--协程/IO多路复用
    进程
    锁 和 线程池
    操作系统-并发-线程-进程
  • 原文地址:https://www.cnblogs.com/zhangpan1244/p/2342165.html
Copyright © 2011-2022 走看看