SQL 创建存储过程,让主键自增
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 创建存储过程,让主键自增的更多相关文章
- 通过SQL创建一个有主键自动递增有默认值不为空有注释的表
-- create database db_std_mgr_sys; use db_std_mgr_sys; create table student( std_id bigint not null ...
- oracle数据库创建表且主键自增
唠叨几句:几年前的知识忘却了,整理一下笔记,提供一下方便 1.创建数据库表 设置主键 create table users( userid number(10) primary key, /*主键,自 ...
- Oracle创建触发器实现主键自增
CREATE OR REPLACE TRIGGER "trigger_empl" before insert on extjsTest1.t_empl for each row b ...
- Oracle 学习----:创建表(主键自增)
一.创建表 create table testTable ( Id numbere, name varchar2(100), age number, createTime date, primary ...
- SQL Server 2008设置主键为自增
环境:SQL Server 2008 问题:设置主键,将主键设为自增. 解决:点击table->选中表->design->选中需要设置主键的字段,单击右键"设置主键&quo ...
- 使用navicat操作PostPreSql创建表并设置主键自增和触发器
使用navicat操作PostPreSql创建表并设置主键自增和触发器 1).创建递增序列 2).创建表,使用序列,设置主键递增 3)定义触发函数 自动生成时间戳函数 CREATE OR REPLAC ...
- sql server 2000 单主键高效分页存储过程 (支持多字段排序)
sql server 2000 单主键高效分页存储过程 (支持多字段排序) Create PROC P_viewPage /* nzperfect [ ...
- psql 关于主键自增的问题
在psql中往往我们需要设置一个自增的主键id字段,psql中不像SQL Server那样点选 打钩傻瓜式就能设置好的,是需要创建序列的:CREATE SEQUENCE,关键字SEQUENCE. 我们 ...
- (2.10)Mysql之SQL基础——约束及主键重复处理
(2.10)Mysql之SQL基础——约束及主键重复处理 关键词:mysql约束,批量插入数据主键冲突 [1]查看索引: show index from table_name; [2]查看有约束的列: ...
- 使用powerdesigner建模时设置主键自增的问题
研究了一下,其实只要双击表,选择columns,再双击在你所要设为自增型的键上(比如你的id)或者右键选择Properties,弹出一个ColumnProperties 对话框,我们看到有标识 ide ...
随机推荐
- windows调试工具列表
摘自windbg帮助文档(windbg中输入.hh): Debugging Tools for Windows (安装WinDbg后这些工具都会安装在目录C:\Program Files (x86)\ ...
- Python爬虫从入门到放弃(十五)之 Scrapy框架中Spiders用法
Spider类定义了如何爬去某个网站,包括爬取的动作以及如何从网页内容中提取结构化的数据,总的来说spider就是定义爬取的动作以及分析某个网页 工作流程分析 以初始的URL初始化Request,并设 ...
- 腾讯云centos7服务器环境搭建,tomcat+jdk+mysql+nginx
软件:jdk 1.8.0_45 tomcat 8.5.8 mysql 5.6.36 nginx 1.10.x或以上 其中tomcat在centos6.8中没问题,centos7中会出现卡在启动那里 I ...
- es6的模块化编程
es6的模块化编程 基本用法 es6 中新增了两个命令 export 和 import , export 命令用于规定模块的对外接口,import 命令用于输入其他模块提供的功能. 一个模块就是一个独 ...
- 字符的读写函数:fgetc()和fputc()
fgetc(); 功能: 从文件中读取字符. 头文件: #include <stdio.h> 函数原型:int fgetc(FILE *stream); 返 ...
- mybaits错误解决:There is no getter for property named 'parentId ' in class 'java.lang.String'
在使用mybaitis传参数的时候,如果仅传入一个类型为String的参数,那么在 xml文件中应该使用_parameter来代替参数名. 比如mapper中如下方法,只有一个String值 publ ...
- JDK+Tomcat+Zookeeper+DubboAdmin安装教程
JDK+Tomcat+Zookeeper+DubboAdmin安装教程 1. 安装内容: JDK 1.8.131 Tomcat 7.0.77 Zookeeper 3.4.9 Dubbo admin 2 ...
- centos7下编译安装mysql
推荐: http://www.cnblogs.com/yunns/p/4877333.html
- 6步就能搞出个react网站哈,玩一把!
1.安装mk-tools命令行工具 $ npm i -g mk-tools 2.创建空website $ mk website myDemo $ cd myDemo 3.clone应 ...
- mysql5.7.18的安装与主从复制
CentOS6.7安装mysql5.7.18 1. 解压到/usr/local目录 # tar -zxvf mysql-5.7.18-linux-glibc2.5-i686.tar.gz -C /u ...