多数大学生出来选择的工作和专业无关
首页 > 专业知识

PHP中SQLServer基础之存储过程

时间:2017-07-24 18:34:00 [来源]:郑州PHP培训学校

   PHP中SQLServer基础之存储过程

  简单来说,存储过程就是一条或者多条sql语句的集合,可视为批处理文件,但是其作用不仅限于批处理。本篇主要介绍变量的使用,存储过程和存储函数的创建,调用,查看,修改以及删除操作。
  一:存储过程概述
  工欲善其事,必先利其器,准备数据如下:
  use sample_db;
  --创建测试books表
  create table books (
  book_id int identity(<strong>1</strong>,<strong>1</strong>) primary key,
  book_name varchar(<strong>20</strong>),
  book_price float,
  book_auth varchar(<strong>10</strong>)
  );
  --插入测试数据
  insert into books (book_name,book_price,book_auth)
  values
  ('论语',<strong>25.6</strong>,'孔子'),
  ('天龙八部',<strong>25.6</strong>,'金庸'),
  ('雪山飞狐',<strong>32.7</strong>,'金庸'),
  ('平凡的世界',<strong>35.8</strong>,'路遥'),
  ('史记',<strong>54.8</strong>,'司马迁');
  1.创建无参存储过程
  --1.创建无参存储过程
  if (exists (select * from sys.objects where name = 'getAllBooks'))
  drop proc proc_get_student
  go
  create procedure getAllBooks
  as
  select * from books;
  --调用,执行存储过程
  exec getAllBooks;
  2.修改存储过程
  alter procedure dbo.getAllBooks
  as
  select book_auth from books;
  3.删除存储过程
  ?
  1
  drop procedure getAllBooks;
  4.重命名存储过程
  ?
  1
  sp_rename getAllBooks,proc_get_allBooks;
  5.创建带参数的存储过程
  ?存储过程的参数分为两种:输入参数和输出参数
  输入参数:用于向存储过程传入值,类似java语言或则c中的值传递。
  输出参数:用于调用存储过程后,参会结果,类似java语言的按引用传递。
  值传递和引用传递区别:
  基本数据类型赋值属于值传递;引用类型之间赋值属于引用传递。值传递传递的是实实在在的变量值;引用传递传递的是对象的引用地址。值传递后,两个变量改变的是各自的值;引用传递后,两个引用改变的是同一个对象的状态

上一篇:PHP中MVC架构机制详解

下一篇:Java学习要有的30个目标