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 ...
随机推荐
- Python爬虫从入门到放弃(十三)之 Scrapy框架的命令行详解
这篇文章主要是对的scrapy命令行使用的一个介绍 创建爬虫项目 scrapy startproject 项目名例子如下: localhost:spider zhaofan$ scrapy start ...
- 关于shell脚本函数、数组、字符串截取、svn更新发布实例
#/bin/bash #功能:QA服根据模板创建区配置文件并提交到svn上. SOURCE_PATH=/data/source_code SVN_PATH=/code/psm #svn发布目录,要 ...
- Python面向对象编程(二)
1.继承与派生 上文我们已经说过,Python中一切皆对象.我们从对象中抽取了共同特征和技能,得到了类的概念.类与类之间也有共同特征,我们可以从有共同特征和技能的类中提取共同的技能和特征,叫做父类. ...
- 在linux中安装git,并将代码发布到github
楼主Git小白,今天刚刚学习了git,虽然在工作中也许用不到,但是在学习的时候肯定会用到的,毕竟一个程序员首先就要整理自己的知识点,将美丽的代码分享与大家. 楼主是将Git安装在阿里云的centos7 ...
- webIDE 第二篇博文
这是我做webIDE过程中的第二篇博文,之所以隔了这么长时间没更,因为确实是没有啥进度啊,没什么可写的,现在虽然依然没啥进度,但中途遇到很多坑,这些坑还是有记录下来的必要的. 因个人水平问题,可能有的 ...
- 简易 HTTP Server 实现(JAVA)
该简易的J2EE WEB容器缺失很多功能,却可以提供给大家学习HTTP容器大致流程. 注:容器功能很少,只供学习. 1. 支持静态内容与Servlet,不支持JSP 2. 仅支持304/404 3. ...
- 解决Ubuntu手动安装vim后无法正常…
首先声明这个问题很坑爹~ 问题描述:下载了vim7.3版本的源码,在虚拟机里面的ubuntu12中手动安装成功后.在使用vim编辑文档时,进入编辑模式出现如下现象:1.使用方向键会打印出"A ...
- 拓扑排序 topsort详解
1.定义 对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列. 举例: h3 { marg ...
- cmd命令行进入DOS方式编译运行C语言程序实现字符串转换
需求:输入一个字符串(长度小于50),然后过滤掉所有的非数字字符,得到由数字字符组成的字符串,将其转化为double型结果输出(4位小数). 源程序: #include<stdio.h>i ...
- JBOSS安装配置详细教程
首先在http://jbossas.jboss.org/downloads/下载相关程序我下载的是 JBoss AS 6.1.0.Final 1.配置jboss环境 1.1用户变量path后面添加 ; ...