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'
  • 相关阅读:
    关于v$librarycache的几个字段含义
    nmon监控
    ORA-01841: (full) year must be between -4713 and +9999,
    MySql 5.7 新特性概览
    权限传递
    ORA-03135 防火墙超时设置断开db link 连接
    Oracle Profile使用详解(转)
    查看Oracle数据库SQL执行历史
    ALTER SEQUENCE 导致 REPLICAT 延时
    trace/trace2命令
  • 原文地址:https://www.cnblogs.com/zhangpan1244/p/2342165.html
Copyright © 2011-2022 走看看