1、  首先创建存储过程;

2、  然后分别创建序列,生成基金公司编号、基金代码、活期账号、理财账号、基金账户、合同号。要求如下:

  • 基金公司编号,字母K+5位数字。
  • 基金代码,字母V+6位数字。
  • 活期账号,13位数字。
  • 理财账号,13位数字。
  • 基金账户,字母L+5位数字。
  • 合同号,字母Z+6位数字。

3、 在创建存储过程中,在添加表数据的时候,自动添加生成的主键编号。【存储过程添加数据】

 use Funds
go
//创建存储过程:基金公司编号,字母K+5位数字
-- 基金公司编号,字母K+5位数字。
alter proc Proc_Create_FundCompanyID
@ID varchar() out ---定义为输出参数
as
begin
declare @num int
select top @ID=[CompanyId] from [dbo].[FundCompany] order by [CompanyId] desc
--判断数据库中是否含有数据
if(@ID is null)
begin
set @ID='K00001'
end
else
begin
-- 截取数字部分
Set @ID =right(@ID,) ---
-- 把字符型的数字转换为整型
set @num = CONVERT(int,@ID) --- set @num =@num +;
--拼接 补齐右边的位数
set @ID = ''+convert(varchar(), @num)
select @ID Set @ID =right(@ID,)
set @ID='K'+@ID
end
end go -- 调用存储过程 declare @companyId varchar()
exec Proc_Create_FundCompanyID @companyId out
select @companyId //创建活期账号,13位数字。
--活期账号,13位数字。
----- :: 毫秒数 alter proc Proc_Create_CurrentAccount
@Account nvarchar() out
as
begin
declare @str nvarchar()
Set @str = CONVERT(nvarchar(),getdate(),)
set @str = REPLACE(@str,'-','')
set @str = REPLACE(@str,'T','')
set @str = REPLACE(@str,':','')
set @str = REPLACE(@str,'.','')
set @Account =left(@str,)+RIGHT(@str,)
end
go declare @account nvarchar()
exec Proc_Create_CurrentAccount @account out
select @account

//向表中添加数据
create proc Proc_Insert_FundCompany
@Name nvarchar(),
@Content nvarchar(),
@Money money,
@State bit
as
begin
declare @companyId varchar()
exec Proc_Create_FundCompanyID @companyId out
insert into [dbo].[FundCompany] values(@companyId,@Name,@Content,@Money,@State)
end
go exec Proc_Insert_FundCompany '呵呵100','哎呦喂',5, select * from [dbo].[FundCompany] create proc Proc_Insert_Fund
@CompanyId nvarchar()
as
begin
select --insert into (插入数据)
end go

SQL 创建存储过程,让主键自增的更多相关文章

  1. 通过SQL创建一个有主键自动递增有默认值不为空有注释的表

    -- create database db_std_mgr_sys; use db_std_mgr_sys; create table student( std_id bigint not null ...

  2. oracle数据库创建表且主键自增

    唠叨几句:几年前的知识忘却了,整理一下笔记,提供一下方便 1.创建数据库表 设置主键 create table users( userid number(10) primary key, /*主键,自 ...

  3. Oracle创建触发器实现主键自增

    CREATE OR REPLACE TRIGGER "trigger_empl" before insert on extjsTest1.t_empl for each row b ...

  4. Oracle 学习----:创建表(主键自增)

    一.创建表 create table testTable ( Id numbere, name varchar2(100), age number, createTime date, primary ...

  5. SQL Server 2008设置主键为自增

    环境:SQL Server 2008 问题:设置主键,将主键设为自增. 解决:点击table->选中表->design->选中需要设置主键的字段,单击右键"设置主键&quo ...

  6. 使用navicat操作PostPreSql创建表并设置主键自增和触发器

    使用navicat操作PostPreSql创建表并设置主键自增和触发器 1).创建递增序列 2).创建表,使用序列,设置主键递增 3)定义触发函数 自动生成时间戳函数 CREATE OR REPLAC ...

  7. sql server 2000 单主键高效分页存储过程 (支持多字段排序)

    sql server 2000 单主键高效分页存储过程 (支持多字段排序) Create PROC P_viewPage             /*              nzperfect [ ...

  8. psql 关于主键自增的问题

    在psql中往往我们需要设置一个自增的主键id字段,psql中不像SQL Server那样点选 打钩傻瓜式就能设置好的,是需要创建序列的:CREATE SEQUENCE,关键字SEQUENCE. 我们 ...

  9. (2.10)Mysql之SQL基础——约束及主键重复处理

    (2.10)Mysql之SQL基础——约束及主键重复处理 关键词:mysql约束,批量插入数据主键冲突 [1]查看索引: show index from table_name; [2]查看有约束的列: ...

  10. 使用powerdesigner建模时设置主键自增的问题

    研究了一下,其实只要双击表,选择columns,再双击在你所要设为自增型的键上(比如你的id)或者右键选择Properties,弹出一个ColumnProperties 对话框,我们看到有标识 ide ...

随机推荐

  1. 面向对象15.3String类-常见功能-转换

    public static void main(String[] args) { //2.1// String s="张三,李四,王五";// String [] arr=s.sp ...

  2. Java代码优化六大原则

    单一职责 代码优化第一步,单一职责原则 (Single Responsibility Principle).对于一个Java类,应该仅有一个引起它变化的原因,也就是说,一个类中,应该是一组相关性很高的 ...

  3. PCI_Making Recommendations

    协作性过滤 简单理解从众多用户中先搜索出与目标用户'品味'相似的部分人,然后考察这部分人的偏爱,根据偏爱结果为用户做推荐.这个过程也成为基于用户的协作性过滤(user_based collaborat ...

  4. linux文件系统及bash基础特性

    linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重 ...

  5. golang windows 安装方法

    编译器下载链接:https://golang.org/dl/ 默认安装到C盘,不用修改.   添加环境变量:     配置环境变量:   注:C:\mygo\bin 配置这个后,则可以直接在 Dos ...

  6. 灵玖软件Nlpir Parser语义智能内容过滤

    Internet是全球信息共享的基础设施,是一种开放和面向 所有用户的技术.它一方面要保证信息方便.快捷的共享;另一方面要防止垃圾信息的传播.网络内容分析是一种管理信 息传播的重要手段.它是网络信息安 ...

  7. year:2017 month:7 day:17

    2017-07-17 JavaScript 1.javascript 中的运算符 (1)算数运算符:+ ,- ,* ,/ ,% (2)位运算符:& ,| ,~  ,^ ,<< (左 ...

  8. Java基础之String类

    String类 字符串是不可变的,对其做的任何改变,会生成一个对象,不会改变有原有对象. ==和equals() String s1 = "good"; String s2 = & ...

  9. 纯JS实现像素逐渐显示

    就是对于新手的我,以前从来没有做过对像素进行操作的实例.于是把资料书找了出来,实现了这个功能,比较简单,大神勿喷.下面是效果图,因为重在思路,效果就简陋一些. 其实就是简单的用JS实现将左上角的矩形随 ...

  10. 利用GeoIP数据库及API进行地理定位查询 Java

    地理定位查询的的数据库比较多,而且大多都开放一些free的版本 国内的有纯真数据库等,但是他只提供文本的地理位置信息,不提供经纬度数据 当应用到google map时,就不可以了 国外的有MaxMin ...