zoukankan      html  css  js  c++  java
  • 面试常考题存储过程实现自增长

    1:存储过程实现自增长的功能是面试常考点:我写一个实例,实现主键编号为4位的自增长的varchar50的增长,实际面试的时候要用bigint类型,而且那些相对来说比较简单:

    表结构如下:

    create table classMgr(

    id varchar(50) primary key not null,

    Name Nvarchar(50))

    存储过程如下:

    create proc query_id(
    @maxId varchar(50) output)
    as
    begin
    declare @currentId varchar(50)
    select top 1 @currentId=dbo.classMgr.id from dbo.classMgr order by id desc
    select @maxId=RIGHT('0000'+LTRIM(cast(isnull(@currentId,'0') as integer)+1),4)
    end

    执行存储过程:


    declare  @maxId bigint;
    exec query_id @maxId output
    print @maxId

    得出的结构:

    已达到预期要的结果。

    asp.net调用存储过程:

                string connectiongString = "server=.;database=test;uid=sa;pwd=2009@ABCDEF";
                SqlConnection conn = new SqlConnection(connectiongString);
                try
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Connection = conn;
                    cmd.CommandText = "query_id";
                    SqlParameter par = new SqlParameter("@maxId", SqlDbType.VarChar,50);
                    par.Direction = ParameterDirection.Output;
                    cmd.Parameters.Add(par);
                    cmd.ExecuteNonQuery();
                    this.lblMyId.Text = par.Value.ToString();
                }
                catch (Exception err)
                {
                    conn.Close();
                    throw new Exception(err.Message + err.StackTrace);
                }
                finally
                {
                    conn.Dispose();
                }

  • 相关阅读:
    主从数据库
    Linux 安装 mysql
    centos7.5上安装go1.13.4
    Linux 安装php
    CENTOS7下安装redis
    CentOS 7安装Etherpad(在线协作编辑)
    nginx《一安装》
    springboot中redis取缓存类型转换异常
    linux安装mysql
    linux上传下载文件(转载https://www.jb51.net/article/143112.htm)
  • 原文地址:https://www.cnblogs.com/wangyhua/p/4050657.html
Copyright © 2011-2022 走看看