精华内容
下载资源
问答
  • 创建存储过程

    千次阅读 2018-06-22 15:45:54
    1.使用SQL Server管理平台创建存储过程在SQL Server管理平台中,创建存储过程的步骤如下:(1)打开SQL Server管理平台,展开结点“对象资源管理器”→“数据库服务器”→“可编程性”→“存储过程”,在窗口的右侧...

    1.使用SQL Server管理平台创建存储过程

    在SQL Server管理平台中,创建存储过程的步骤如下:

    (1)打开SQL Server管理平台,展开结点“对象资源管理器”→“数据库服务器”→“可编程性”→“存储过程”,在窗口的右侧显示出当前数据库的所有存储过程。右击,在弹出的快捷菜单中选择“新建存储过程”命令。

    (2)在打开的SQL命令窗口中,系统给出了创建存储过程命令的模板。在模板中输入创建存储过程的Transact-SQL语句后,单击“执行”按钮即可创建存储过程。

    (3)建立存储过程的命令被成功执行后,选择“对象资源管理器”→“数据库服务器”→“可编程性”→“存储过程”命令,可以看到新建立的存储过程。

    2.使用CREATE PROCEDURE语句创建存储过程

    SQL Server还可以使用CREATE PROCERDURE语句创建存储过程。在创建存储过程之气那,应该考虑以下几个方面:

    (1)在一个批处理中,CREATE PROCEDURE 语句不能与其他SQL语句合并在一起。

    (2)数据库所有者具有默认的创建存储过程的权限,它可把该权限传递给其他的用户。

    (3)存储过程作为数据库对象其命令必须符合标识符的命名规则。

    (4)只能在当前数据库中创建属于当前数据库的存储过程。

    创建存储过程语句的语法格式如下:

    CREATE PROC[EDURE] procedure_name[;number]

    [{@parameter data_type}

      [VARYING][=default][OUTPUT]][,...n]

    [WITH

       {RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}]

    [FOR REPLICATION]

    AS sql_statement[,...n]

    各选项的含义如下:

    (1)procedure_name:新建存储过程的名称。它后面跟的可选项number是一个整数,用来区别一组同名的存储过程。存储过程的命名必须符合标识符的命名规则,在一个数据库中或对其所有者而言,存储的名字必须唯一。

    (2)@parameter:存储过程的参数。在CREATE PROCEDURE语句中可以声明一个或多个参数。用户必须在执行过程时提供每个声明参数的值(除非定义了该参数的默认值)。若参数的形式以@parameter=value出现,则参数的次序可以不同,否则用户给出的参数值必须与参数列表中参数的顺序保持一致。若某一参数以@parameter=value形式给出,则其他参数必须具有相同形式。一个存储过程最多可以有2100个参数。

    (3)data_type:指示参数的数据类型。所有数据类型(包括text、ntext、image)均可以用作存储过程的参数。但游标CURSOR类型只能用于OUTPUT参数,而且必须同时指定VARYING和OUTPUT关键字。

    (4)default:给定参数的默认值。如果定义了默认值,则不指定该参数值仍能执行过程。默认值必须时常量或NULL。

    (5)OUTPUT:表明参数是返回参数。使用OUTPUT参数可将信息返回给调用过程。

    (6)RECOMPILE:表明SQL Server不保存该过程的执行计划,该过程每执行一次都要重新编译。

    (7)ENCRYPTION:表示SQL Server加密syscomments表,该表中包含CREATE PROCEDURE语句的存储过程文本。使用该关键字可防止通过syscomments表来查看 存储过程内容。

    (8)FOR REPLICATION:指定不能在订阅服务器上执行为复制创建的存储过程。只有在创建过滤存储过程时,才使用该选项。本选项不能和WITH RECOMPILE选项一起使用。

    (9)AS sql_statement:执行过程要执行的操作,sql_statement是过程中要包含的任意数目和类型的Transact-SQL语句。

    举例:创建存储过程,从表goods和表goods_classification的连接中返回商品名、商品类别、单价。

    CREATE PROCEDURE goods_info AS

    SELECT goods_name,classification_name,unit_price

    FROM goods g INNER JOIN goods_classifcation gc

      ON g.classification_id=gc.classificaton_id

    存储过程创建后,存储过程的名称存放在sysobject表中,文本存放在syscomments表中。




    展开全文
  • 下面以实际例子创建存储过程与调用存储过程。 2、需求与准备 需求:通过windows cmd创建查询test表全部数据的存储过程,并调用。 准备: ①MySQL的账户与密码(用于命令进入指定的mysql数据库); ②指定...

    一、前言

       前两天学习了如果通过navicat去实现存储过程的创建与使用,
       实际操作中可能会要求纯命令方式去创建整个存储过程。
       下面以实际例子创建存储过程与调用存储过程。
    

    二、需求与准备

       需求:通过windows cmd创建查询test表全部数据的存储过程,并调用。
       准备:
       		①MySQL的账户与密码(用于命令进入指定的mysql数据库);
       		②指定数据库(用于指定在哪个数据创建存储过程);
       		③test表,字段根据用户随意设置;
    

    三、CMD操作步骤

    ①打开cmd
    在这里插入图片描述②登陆mysql,指定数据库
    在这里插入图片描述③创建存储过程与注意事项说明
    注意:由于是命令方式,需要特别注意命令/符号等准确性。
    在这里插入图片描述④调用存储过程
    在这里插入图片描述⑤乱码解决
    在这里插入图片描述

    四、总结

    	①在整个过程其实涉及内容不多,但我在创建过程中遇到、
    	  各种各样问题,例如单词错误,符号不对,乱码,这些
    	  都是需要大家注意的。
    	②在不清楚怎么做的时候,尽量按照参考文章操作,然后逐
    	  步进行熟悉与理解。有了初步操作与理解后,在按照自己
    	  需求调整与修改
    

    五、参考文章

    【1】乱码解决(character_set_results=gbk):https://blog.csdn.net/weisubao/article/details/44058995
    【2】修改分隔符(delimiter):https://www.cnblogs.com/kevinlzf/archive/2013/03/22/2975609.html
    【3】创建存储过程:https://blog.csdn.net/Peng_Hong_fu/article/details/52737402;

    展开全文
  • 创建使用存储过程

    千次阅读 2017-10-15 18:46:25
    创建使用存储过程 用CREATE PROCEDURE命令建立存储过程和存储函数。语法: create [or replace] PROCEDURE 过程名(参数列表) AS PLSQL子程序体;*/ –第一个存储过程:打印Hello World /* 调用存储过程1....

    /*
    创建和使用存储过程
    用CREATE PROCEDURE命令建立存储过程和存储函数。

    语法:

       create [or replace] PROCEDURE 过程名(参数列表)
       AS
       PLSQL子程序体;

    */
    –第一个存储过程:打印Hello World
    /*
    调用存储过程

    1.exec sayhelloworld();
    2.begin
           sayhelloworld();
           sayhelloworld();
      end;
      /

    */

    create or replace procedure sayhelloworld
    as
    --说明部分
    begin
      dbms_output.put_line('Hello World');
    end;
    /

    –创建一个带参数的存储过程:
    –给指定的员工涨100块钱的工资,并且打印涨前和涨后的薪水

    /*
    如何调用:

    begin
     raisesalary(7839);
     raisesalary(7566); 
     commit;
    end;
    /

    */

    create or replace procedure raisesalary(eno in number)
    as
    --定义一个变量保存涨薪前的薪水
      psal emp.sal%type;
    begin
      --得到员工涨前的薪水
      select sal into psal from emp where empno =eno;
    
      --给该员工涨100
      update emp set sal=sal+100 where empno=eno;
    
      --需不需要commit?
      --注意:一般不在存储过程或者存储函数中,commit和rollback(一般是谁调用谁提交,保证事务完整性)
    
      --打印
      dbms_output.put_line('涨前:'||psal||'   涨后:'||(psal + 100));
    end;
    /
    展开全文
  • 存储过程又分为有参数存储过程和无参数存储过程,调用存储过程使用exec 存储过程名 “参数” 命令来调用存储过程 下面用一个案列演示存储过程的创建及使用 有两张表,一张商品分类表,一张商品详情表 使用无参存储...

    存储过程是一个预编译的SQL语句,只需要创建一次,就可以多次调用,使用存储过程比单纯SQL语句执行要快。
    存储过程又分为有参数存储过程和无参数存储过程,调用存储过程使用exec 存储过程名 “参数” 命令来调用存储过程
    下面用一个案列演示存储过程的创建及使用
    有两张表,一张商品分类表,一张商品详情表在这里插入图片描述
    在这里插入图片描述
    使用无参存储过程查询火锅类商品信息

    if object_id('proc_select') is not null
    	drop proc proc_select
    go
    create proc proc_select
    as
    select p.title 商品名,c.categoryName 商品分类,p.currentPrice 商品团购价,p.productDesc 介绍 from category c,business.product p 
    where c.categoryID=p.categoryID and c.categoryName='火锅'
    
    exec proc_select
    

    以上代码 if object_id(‘proc_select’) is not null 判断该存储过程是否存在,存在的话drop掉,不存在则创建proc_select存储过程。
    通过以上案列,我们学会了使用无参存储过程。但是查询结果单一,就有了有参存储过程语法如下:

    if object_id('proc_select') is not null
    	drop proc proc_select
    go
    create proc proc_select(@name varchar(20))
    as
    select p.title 商品名,c.categoryName 商品分类,p.currentPrice 商品团购价,p.productDesc 介绍 from category c,business.product p 
    where c.categoryID=p.categoryID and c.categoryName=@name
    
    exec proc_select @name='KTV'
    

    这样我们就可以给根据name的赋值,查出你想要的结果。你学到了嘛!!!

    展开全文
  • mysql创建存储过程

    2015-08-04 18:08:03
    mysql创建存储过程+事务 举例,同时包含Delimiter在创建存储过程时的使用,包含获取新插入的自增主键方法;最后介绍了使用source 命令导入sql脚本
  • MySQL在创建存储过程的时候,如创建存储过程,如果使用的是Navicat、DataGrip 等程序创建,代码是下面这样的:CREATE PROCEDURE xxxx()BEGINselectavg(prod_price) as priceaveragefromproducts;END;但是,有一个...
  • 可以使用Transact-SQL中的CREATE PROCEDURE语句创建存储过程使用该语句的语法为: 2.在查询分析器中执行如下语句创建一个存储过程。 3.在企业管理器中创建存储过程的方法为,展开相应的数据库sample,在“存储...
  • 在实际开发过程中,一般写程序的工作人员不会对存储过程有太多的关注,但是有些比较复杂的数据库操作,如果使用...使用命令创建存储过程如下: delimiter $$ create procedure example_procedure() begin declare...
  • 图解MySql命令行创建存储过程

    千次阅读 2016-09-02 18:53:35
    使用source命令,从命令行执行sql脚本,创建表; 创建第一个存储过程; 事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将";"当做存储过程中的代码; 调用一下,成功了; 创建一个带输出参数...
  • 使用Microsoft SQL Server 2005创建应用程序时,Transact-SQL编程语言是应用程序和Microsoft SQL Server数据库之间的主要编程接口。...(2)也可以将程序作为存储过程存储在SQL Server中,创建执行...
  • 让我们首先创建一个表-createtableDemoTable1368->(->ClientIdint,->...使用插入命令在表中插入一些记录-insertintoDemoTable1368values(101,'Adam');insertintoDemoTable1368values(102,'Bo...
  • 存储过程使用规则

    2020-05-20 17:29:54
    1. 什么是存储过程? 存储过程是一个预编译的SQL语句。 优点是允许模块化的设计,就是说只需创建一次,以后在程序中就可以调用多次。 如果某次操作需要执行多次SQL,使用存储...--创建存储过程 go create proc cp_sele
  • 存储过程 类似java方法 含义 一组预编译好的sql语句集合,理解成批处理语句 好处 提高了代码的重用性 简化操作 减少了编译的次数,和数据库服务器的连接次数,提高效率 创建 #创建inout类型 delimiter $ #定义执行...
  • 一、视图的基本使用 1)创建视图: 语法格式: create view 视图名称 as SQL查询; create view 视图名称(字段名称列表) as SQL查询; 2)查看视图: ...查看创建视图具体命令: show create vi...
  • 使用source命令,从命令行执行sql脚本,创建表; 创建第一个存储过程; 事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将";"当做存储过程中的代码; 调用一下,成功了; 创建一个带输出参数...
  • 在日常的学习工作中,我们常常需要为数据库创建一些测试用数据方便我们测试数据库的性能。...首先使用命令查看创建样例表的SQL语句: SHOW CREATE TABLE tablename; 以下是创建样例表的SQL语句...
  • 在MS SQL Server 2000 中,创建一个存储过程有两种方法:一种是... 用Transaction- SQL 创建存储过程是一种较为快速的方法,但对于初学者,使用Enterprise Manager 更易理解,更为简单。  当创建存储过程时,需要...
  • 存储过程使用

    2020-05-21 12:36:43
    1.存储过程的定义 存储过程是一个预编译的SQL语句,优点是允许... ****2.1创建存储过程**** create procedure sp_name @[参数名] [类型],@[参数名] [类型] as begin ........ end 以上格式还可以简写成: create pro

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,649
精华内容 659
关键字:

创建存储过程使用命令