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. 怎么在linux Ubuntu上部署nodejs

    今天特别开心,同时也有兴趣把最近的一些工作总结一下. 第一,方便记忆. 第二, 给需要的同学做参考 node.js 在本地的话,比较容易运行,node app.js 命令就搞定,但是当需要部署到生产环 ...

  2. vue2中component父子组件传递数据props的使用

    子组件使用父亲传过来的数据,我们需要通过子组件的 props 选项. 组件实例的作用域是孤立的,不能在子组件的模板内直接引用父组件的数据.修改父亲传过来的props数据的时候 父亲必须传递对象,否则不 ...

  3. angular JS中使用jquery datatable添加ng-click事件

    'use strict'; app.controller('DataTableCtrl', function ($scope, $compile) { $scope.show = function ( ...

  4. Cinnamon桌面是怎么回事儿

    (linux mint 18.2 用户截图) Cinnamon的由来 在GNOME 3之前,GNOME是根据传统的桌面比拟(Desktop metaphor)而设计,到了GNOME 3便被GNOME ...

  5. iptables中DNAT的配置方法

    1.一对一流量完全DNAT 首先说一下网络环境,普通主机一台做防火墙用,网卡两块 eth0 192.168.0.1  内网 eth1 202.202.202.1 外网 内网中一台主机 192.168. ...

  6. Android学习笔记-TextView(文本框)(二)

    2.4 使用autoLink属性识别链接类型 当文字中出现了URL,E-Mail,电话号码,地图的时候,我们可以通过设置autoLink属性:当我们点击 文字中对应部分的文字,即可跳转至某默认APP, ...

  7. ajax-javascript原生-初步入门01(整理)

    -----------------------------------2017.07.21写----------------------------------------- 1.ajax的原名: a ...

  8. ps-ef|grep-vgrep|grepsep|awk'{print"kill-9"$2}'|sh 这个表达式到底是什么意思啊?

    最佳答案   kill 掉sep这个程序ps -ef | 获取当前服务器所有进程grep -v grep 相当于grep自己吧自己过滤掉,就是不显示grepgrep seq 过滤出seqawk 截取 ...

  9. error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    一.情形描述 下载了一个VS的源码,不知道此源码的版本.使用VS2010编译时出现如下报错: error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 二.解决方法 在VS2010界 ...

  10. vue指令v-else示例解析

    为 v-if 或者 v-else-if 添加 "else 块". <div id="app"> <p v-if="isRender& ...