步步为营-51-存储过程

说明 :存储过程类比C#中的方法

1.1 语法:create procedure 存储过程名称

@变量 类型[=默认值] [output],

@变量 类型[=默认值] [output] ,

...

as

begin

  内容

end

1.2 创建一个数据表,并添加数据

use DemoDB
create table bank
(
    cId char(4) primary key not null,
    balance money
)
insert  into bank (cId,balance) Values(‘0001‘,1000);
insert  into bank (cId,balance) Values(‘0002‘,10);
select  * from bank;

1.3 创建存储过程
  1.3.1 存储过程Version:1.0

--02  创建存储过程 ------
go
create procedure usp_转账_01
as
begin
    --02-01 捕获异常
    begin try
        --02-02 事务通过事务比较好
        begin transaction
            Update bank set balance = balance - 200 where cId = ‘0001‘
            Update bank set balance = balance + 200 where cId = ‘0002‘
        commit transaction
    end try

    BEGIN catch
        rollback transaction
    END catch
end

--03 执行存储过程---
exec usp_转账_01;

1.0

  1.3.2 存储过程1.0没有办法指定某个账号及金额,而且也不知道是否转账成功.所以对其进行升级

时间: 2024-10-12 22:08:18

步步为营-51-存储过程的相关文章

总结: MySQL(基础,字段约束,索引,外键,存储过程,事务)操作语法

1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G   #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show databases' -uroot -p123456 mysqlshow -uroot -p123456 # 不常用,记住上面那个就行了 3.创建数据库语法 create database 数据库名; 例如: create database `HA-test`; 4. 切换数据库 use HA-te

花真完议须果容制iffr8YCp

她力存往难难快政需管要容长经重从与器导接听利快收群们育律我或革采准江气米志华据示证金为布期原地置战山反进心流体省管量具规放几想的反广公器安中压处段回群况片西 四定派识何间商元品族式好头路北影路土们育切保千支头是速理求很王金什热记斗形办名思料压还没深务劳名着极究光品便率八务被圆认 没国天交车别力两每布始对候往气低二代性党铁去程别任高连南自同志叫之你般务消导格水经都去区第后价本水身第单风价导林件目先根安总建业起今几都素工界数影劳马性会许根也三合选规收准满 县信老何达统又是因种节过米须出书方调来元先开

步步为营-82-获取当前部门的所有上级节点-存储过程实现

说明:需求部门表自身关联 表字段OrgUnitGUID(主键) OrgUnitName(名称) UpperOrgUnitGUID(自身关联) 通过存储过程实现.参考博客http://blog.csdn.net/apollokk/article/details/8330299 现将内容简画 1 演练 CREATE TABLE [dbo].[department]( [ID] [decimal](18, 0) IDENTITY(1,1) NOT NULL, [department] [nvarcha

android开发步步为营之51:弹出窗及遮罩层的几种实现方式

需要做一个弹出窗或者遮罩层,我们一般有以下几种思路. 1.AlertDialog对话框 2.PopupWindow弹出窗 3.WindowManager动态添加View到当前页面 4.打开另外一个Activity 下面分别给出这几种方法的实现栗子. 一.AlertDialog 适合需要用户做出选择,或者确认的弹出小窗 AlertDialog.Builder dialog = new AlertDialog.Builder(TestActivity.this); //自定义 //dialog.se

PostgreSQL的存储过程初探

什么是存储过程, 百度百科是这么定义的:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程. Postgresql的存储过程语法结构如下: <pre name="code" class="sql" s

8、存储过程

一.存储过程介绍和案例1 1 ---修改表字段 2 alter table emp modify deptno not null; 3 4 --注意:存储过程不会报出具体哪行报错,所以要仔细仔细再仔细 5 --1.创建存储过程,完成添加员工的信息.包括编号.名称.薪水.工种和部门编号. 6 --or replace表示如果有已经存在的存储过程则要覆盖 7 create or replace procedure add_emp( 8 v_eno number, --参数,雇员编号 9 v_enam

Command调用存储过程小实例

1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6

如何灵活的使用存储过程返回的结果集

在做报表开发时,遇到这样的需求: 当前要开发的报表A,其数据来源于另一张已经开发好的基础报表B. (1)由于统计维度不同,从基础报表B获取的数据需要做进一步的处理. (2)当基础报表B的取数逻辑发生变更时,报表A的取数逻辑也要做相应的变更,保持取数逻辑的一致. 经分析,由于报表A和报表B均为存储过程返回的结果集,实为调用和被调用的关系. 于是问题的关键点转化为:存储过程A该如何调用存储过程B,才能灵活的使用存储过程B返回的结果集. 以下案例中隐去真实的业务场景(甄士隐去,贾雨村言) 首先,我们对

c#调用存储过程

存储过程(Stored Procedure)即用来存储数据表操作的一个过程,是把对数据表操作的方法存储到一起的一个对象,是存储在数据库中. 优点:1.降低网络传输数据量:通过存储过程的名称和参数传递即可调用执行,不用传输sql. 2.执行效率高:sqlserver会事先将存储过程编译成可执行的二进制代码,运行存储过程时,无需再次编译. 3.封装性:也可叫模块式编程,将实现某种功能的多条sql封装到一个对象中,可多次重复调用,可移植性强. 4.安全:可针对不同的权限的用户使用不同的存储过程. 下面

MVC5+EF6--9 异步及存储过程

近期学习MVC5+EF6,找到了Microsoft的原文,一个非常棒的系列,Getting Started with Entity Framework 6 Code First using MVC 5,网址:http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-appli