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

    千次阅读 2019-01-16 21:54:49
    SQLserver创建参数存储过程 ql数据库的存储过程是一种在你关闭数据库时,储存你代码的一种方法,并且能实现以简短的指令来修改你的数据。, 那么就让我们看看这简短明了的参数化存储过程。 一.打开SQL数据库,找到...

    SQLserver创建参数化存储过程

    ql数据库的存储过程是一种在你关闭数据库时,储存你代码的一种方法,并且能实现以简短的指令来修改你的数据。,
    那么就让我们看看这简短明了的参数化存储过程。
    一.打开SQL数据库,找到你的数据库。
    在这里插入图片描述
    找到可编程性这个文件夹,并且点开,在存储过程上右键,移动到新建上面,在点中存储过程。
    点击创建之后会跳到以下界面。
    在这里插入图片描述
    看到这个就是存储过程的样式,我们要做的就是把我们自己的代码存起来,把那些不要的样式删掉式。
    在保留关键字后的存储过程是这样的。
    在这里插入图片描述
    接下来我们要放我们自己写的指令进去。
    在这里插入图片描述
    上面那个文字是新建存储过程的名字,也就是你这个存储过程的名字。
    而我们上面图片中的删除代码是写在Begin这个关键字后面,并且在end的前面。
    写完之后可以点执行。
    在这里插入图片描述
    执行之后就会在存储过程这个文件夹给你创建一个文件,文件名就是:删除名为zhanghao的表的数据。
    数据库文件的命名一般都以英文来命名,以上命名存在不规范,但是为了能更好理解原理,所以才用中文来命名。
    那么我们新建好的存储过程怎么去使用呢?
    先来看一下我们指令所操控的表是zhanghao
    而这个表有着一下几条数据
    在这里插入图片描述
    图上的数据只是临时弄出来的,密码没有加密规范
    可以看得我们一共有5条数据,而我们上面的删除指令执行之后就是删除zhanghaoID这个列的第六条数据也就是图上画出来的那条。

    在这里插入图片描述

    接下来我们只需要在新建查询中写上你存储过程的名称然后点执行,你会发现居然执行成功了
    执行成功之后我们来看一下数据
    在这里插入图片描述
    我们会看到数据果然少了一条,然后我们会发现执行一次就成功,当我们再执行一次时,发现居然报错了。
    这是因为我们指令删除的是这个表中的的具体的某一条数据,删除以后数据没有了就会报错。
    这并不是我们想要的效果。所以我们要对我们的存储过程进行修改。
    在这里插入图片描述
    我们可以用创建变量来赋予具体的某一个键
    创建的变量要放在AS的上面,现在的代码中我们要通过赋予参数来删除数据。
    创建的变量的格式是 @变量名称 传入数据的类型 = 初始值
    举一些列子

    @bianlian1 int = 0 说明:整形类型的声明,初始值是0

    @bianlian2 nchar(20) = “” 说明:字符类型的变量声明.初始值是空的字符串

    然后把变量放在具体的数值来代替
    保存存储过程,然后运行一下
    在这里插入图片描述
    我们运行的还是那个方法 ,不过现在我们可以通过传入的参数随意删除我们指定ID的数据,不用再次写那些复杂的指令。
    让我们看一下效果。
    在这里插入图片描述
    我们可以看得数据又少了一条,通过这样代入属性的形式是不是有点像在搜索框输入内容一样来修改数据,这是删除指令的存储数据。
    我们也可以定义一些其他的存储过程
    下面是修改的存储过程
    原理跟上面例子的差不多
    具体让我们看一下例子
    例一:新增指令的数化方法
    在这里插入图片描述
    这是新增指令
    通过传入参数的方式新增数据
    使用方法如下
    在这里插入图片描述
    上面的定义字符串类型的传入数据要用单引号包裹住,而且数据跟数据之间用英文状态隔开
    执行结果如下
    在这里插入图片描述
    我们通过存储过程新增数据的数据进来了,操作是不是很简洁
    修改的存储数据是这样的,也是一样的原理
    例子:修改的参数化方法
    在这里插入图片描述
    这是我本人自己总节的一些方法,不足之处请评论指出,同时希望能带给你们一些帮助,感谢你的阅读,谢谢!

    展开全文
  • SQL Server2008创建无存储过程

    千次阅读 2016-08-03 01:25:06
    SQL Server2008创建无存储过程,将原来的SQL语句查询改到存储过程中实现,其中使用了临时表!
              将原有的SQL查询语句改为使用存储过程来实现!原有SQL如下:
    --StorageDetail 原料入库表, shipmentdetail 原料出库表, RawMaterInfo原料信息表 (原料名称 RmName为主键)
    
    select a.物料名称 , a.总入库数 , a.总退货数 , a.总补回数 , a.总出库数 , a.库存数 库存数或该时间段进出差值,
    f.Model 型号 , f.Remarks 备注 , f.unit 单位 from
    (select d.物料名称  , d.总入库数 , d.总退货数 总退货数, d.总补回数 总补回数,  isnull(e.总出库数 , 0) 总出库数 ,
    ((d.总入库数 - ISNULL(e.总出库数 , 0) -  isnull(d.总退货数, 0) +    isnull(d.总补回数, 0)))  库存数  from
    (select SUM(isnull(Inputcnt , 0)) 总入库数 , SUM(isnull(returncnt , 0)) 总退货数 , SUM(isnull(backcnt , 0)) 总补回数 , RmName 物料名称
    from StorageDetail where 1 = 1  group by RmName  ) as d 
    left join( select SUM( isnull (outcnt , 0)) 总出库数 , RmName 物料名称 from [shipmentdetail] group by RmName) as e
     on d.物料名称 = e.物料名称 ) as a ,(  select *  from RawMaterInfo) as f where f.RawMaterName = a.物料名称
     查询的结果为:
    接下来将改为存储过程来实现:
    1.先创建一个存储过程
    2.创建完成后修改名称,接下来就是写SQL语句了:
    -- ================================================
    -- Template generated from Template Explorer using:
    -- Create Procedure (New Menu).SQL
    --
    -- Use the Specify Values for Template Parameters 
    -- command (Ctrl-Shift-M) to fill in the parameter 
    -- values below.
    --
    -- This block of comments will not be included in
    -- the definition of the procedure.
    -- ================================================
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		
    -- Create date: 
    -- Description:	
    -- =============================================
    CREATE PROCEDURE querystock
    	-- Add the parameters for the stored procedure here
    	--<@Param1, sysname, @p1>  = , 
    	--<@Param2, sysname, @p2>  = 
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
    
        -- Insert statements for procedure here
    	--StorageDetail 原料入库表, shipmentdetail 原料出库表, RawMaterInfo原料信息表 (原料名称 RmName为主键)
    
    	--创建临时表
    	select  * into #tmprmname from RawMaterInfo
    	select SUM(isnull(Inputcnt , 0)) 总入库数 , SUM(isnull(returncnt , 0)) 总退货数 , SUM(isnull(backcnt , 0)) 总补回数 , RmName 物料名称  into #tmpinputcnt  from StorageDetail group by RmName
    	select SUM( isnull (outcnt , 0)) 总出库数 , RmName 物料名称 into #tmpoutcnt from [shipmentdetail] group by RmName
    
    	--进行查询
    	select e.物料名称 , e.总入库数 , e.总退货数 , e.总补回数 , e.总出库数 , e.库存数 库存数或该时间段进出差值,  f.Model 型号 , f.Remarks 备注 , f.unit 单位 from 
    	(
    	select a.物料名称  , a.总入库数 , a.总退货数 总退货数, a.总补回数 总补回数,  isnull(b.总出库数 , 0) 总出库数 , ((a.总入库数 - ISNULL(b.总出库数 , 0) -  isnull(a.总退货数, 0) +    isnull(a.总补回数, 0)))  库存数 from #tmpinputcnt a  left join #tmpoutcnt b  on a.物料名称 = b.物料名称
    	) as e  , #tmprmname as f where e.物料名称 = f.RawMaterName  
    
    	--删除临时表
    	drop table #tmprmname
    	drop table #tmpinputcnt
    	drop table #tmpoutcnt
    END
    GO
    

    3执行.刚刚创建的存储过程,结果如下图

    这是一个简单的存储过程而已,SQL语句如写的不好的地方,请大神指出,不胜感激!
    测试数据地址:http://download.csdn.net/detail/gx_489587482/9593238    也可以自己建测试数据!
    展开全文
  • 如何创建参数存储过程

    万次阅读 2013-05-07 08:27:24
     创建参数存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用唯一的名称进行定义。与T-SQL变量相同,参数名必须以@为前缀,并且遵从标识符规则。当用户不提供该参数的值时可以使用一个默认值来...

      一、 创建带参数的存储过程

          创建带参数的存储过程首先要在存储过程中声明该参数,每个存储过程参数都必须用唯一的名称进行定义。与T-SQL变量相同,参数名必须以@为前缀,并且遵从标识符规则。当用户不提供该参数的值时可以使用一个默认值来代替。

        1.不带默认值的参数

         创建一个参数不带默认值的存储过程,在调用该存储过程时,必须对存储过程中的所有参数进行赋值,如果有一个参数没有赋值,则无法调用该存储过程。例如:

         

    use db_student
    --创建存储过程
    create procedure proc_group
    @课程类别 varchar(20),  --定义参数
    @学分 int 
    as 
    select * from course
    where 课程类别=@课程类别 and 学分>@学分
    执行不带参数的存储过程就是:

    use db_student
    exec proc_group '歌曲',8
    如果不按顺序赋值可以写成:

    use db_student
    exec proc_group @学分=8,@课程类别=‘篮球课’
    2.带默认值的参数

      在SQL中我们可以对字段进行默认值的约束,在存储过程中也可以建立使用默认值的参数。只要在参数的定义之后加上等号,并在等号后面写出默认值即可。

    --创建存储过程
    use db_student
    create procedure proc_group
    @课程类别 varchar(20)='体育课',
    @学分 int=6
    as 
    select * from course where 课程类别=@课程类别 and 学分>@学分
    执行参数带默认值的存储过程

    use db_student
    exec proc_group @学分=8

    3.带返回参数的存储过程

    创建存储过程时,可以用output参数来创建一个带返回值的存储过程,例如:
     

    @a int output
    如果创建带返回参数的存储过程proc_group,那么SQL语句如下:

    --创建带返回值的存储过程
    create procedure proc_group
    @课程类别 carchar(20),
    @平均学分 int output         --设置带返回值的参数
    as 
    select @平均学分=avg(学分) from course where 课程类别=@课程类别
    





    展开全文
  • 这篇文章主要介绍了oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包等相关资料,需要的朋友可以参考下 oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数...

    原文链接:http://www.jb51.net/article/50540.htm

    这篇文章主要介绍了oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包等相关资料,需要的朋友可以参考下

    oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包

    认识存储过程和函数

    存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比,存储过程有很多优点,具体归纳如下:
    * 存储过程和函数以命名的数据库对象形式存储于数据库当中。存储在数据库中的优点是很明显的,因为代码不保存在本地,用户可以在任何客户机上登录到数据库,并调用或修改代码。
    * 存储过程和函数可由数据库提供安全保证,要想使用存储过程和函数,需要有存储过程和函数的所有者的授权,只有被授权的用户或创建者本身才能执行存储过程或调用函数。
    * 存储过程和函数的信息是写入数据字典的,所以存储过程可以看作是一个公用模块,用户编写的PL/SQL程序或其他存储过程都可以调用它(但存储过程和函数不能调用PL/SQL程序)。一个重复使用的功能,可以设计成为存储过程,比如:显示一张工资统计表,可以设计成为存储过程;一个经常调用的计算,可以设计成为存储函数;根据雇员编号返回雇员的姓名,可以设计成存储函数。
    * 像其他高级语言的过程和函数一样,可以传递参数给存储过程或函数,参数的传递也有多种方式。存储过程可以有返回值,也可以没有返回值,存储过程的返回值必须通过参数带回;函数有一定的数据类型,像其他的标准函数一样,我们可以通过对函数名的调用返回函数值。
       存储过程和函数需要进行编译,以排除语法错误,只有编译通过才能调用。

    创建和删除存储过程

    创建存储过程,需要有CREATE PROCEDURE或CREATE ANY PROCEDURE的系统权限。该权限可由系统管理员授予。创建一个存储过程的基本语句如下:
    CREATE [OR REPLACE] PROCEDURE 存储过程名[(参数[IN|OUT|IN OUT] 数据类型...)]
    {AS|IS}
    [说明部分]
    BEGIN
    可执行部分
    [EXCEPTION
    错误处理部分]
    END [过程名];

    其中:
    可选关键字OR REPLACE 表示如果存储过程已经存在,则用新的存储过程覆盖,通常用于存储过程的重建。
    参数部分用于定义多个参数(如果没有参数,就可以省略)。参数有三种形式:IN、OUT和IN OUT。如果没有指明参数的形式,则默认为IN。
    关键字AS也可以写成IS,后跟过程的说明部分,可以在此定义过程的局部变量。
    编写存储过程可以使用任何文本编辑器或直接在SQL*Plus环境下进行,编写好的存储过程必须要在SQL*Plus环境下进行编译,生成编译代码,原代码和编译代码在编译过程中都会被存入数据库。编译成功的存储过程就可以在Oracle环境下进行调用了。
    一个存储过程在不需要时可以删除。删除存储过程的人是过程的创建者或者拥有DROP ANY PROCEDURE系统权限的人。删除存储过程的语法如下:

    DROP PROCEDURE 存储过程名;

    如果要重新编译一个存储过程,则只能是过程的创建者或者拥有ALTER ANY PROCEDURE系统权限的人。语法如下:

    ALTER PROCEDURE 存储过程名 COMPILE;

    执行(或调用)存储过程的人是过程的创建者或是拥有EXECUTE ANY PROCEDURE系统权限的人或是被拥有者授予EXECUTE权限的人。执行的方法如下:
    方法1:
    EXECUTE 模式名.存储过程名[(参数...)];
    方法2:
    BEGIN
    模式名.存储过程名[(参数...)];
    END;
    传递的参数必须与定义的参数类型、个数和顺序一致(如果参数定义了默认值,则调用时可以省略参数)。参数可以是变量、常量或表达式,用法参见下一节。
    如果是调用本账户下的存储过程,则模式名可以省略。要调用其他账户编写的存储过程,则模式名必须要添加。
    以下是一个生成和调用简单存储过程的训练。注意要事先授予创建存储过程的权限。

    【训练1】  创建一个显示雇员总人数的存储过程。

    步骤1:登录SCOTT账户(或学生个人账户)。
    步骤2:在SQL*Plus输入区中,输入以下存储过程:

    CREATE OR REPLACE PROCEDURE EMP_COUNT
    AS
    V_TOTAL NUMBER(10);
    BEGIN
     SELECT COUNT(*) INTO V_TOTAL FROM EMP;
     DBMS_OUTPUT.PUT_LINE('雇员总人数为:'||V_TOTAL);
    END;
    
    步骤3:按“执行”按钮进行编译。
    如果存在错误,就会显示:
    警告: 创建的过程带有编译错误。
    如果存在错误,对脚本进行修改,直到没有错误产生。
    如果编译结果正确,将显示:

    过程已创建。
    
    步骤4:调用存储过程,在输入区中输入以下语句并执行:

    SET serveroutput ON;
    EXECUTE EMP_COUNT;
    
    显示结果为:

    雇员总人数为:14
    PL/SQL 过程已成功完成。
    

    说明:在该训练中,V_TOTAL变量是存储过程定义的局部变量,用于接收查询到的雇员总人数。
    注意:在SQL*Plus中输入存储过程,按“执行”按钮是进行编译,不是执行存储过程。
      如果在存储过程中引用了其他用户的对象,比如表,则必须有其他用户授予的对象访问权限。一个存储过程一旦编译成功,就可以由其他用户或程序来引用。但存储过程或函数的所有者必须授予其他用户执行该过程的权限。
    存储过程没有参数,在调用时,直接写过程名即可。


    【训练2】  在PL/SQL程序中调用存储过程。

    步骤1:登录SCOTT账户。
    步骤2:授权STUDENT账户使用该存储过程,即在SQL*Plus输入区中,输入以下的命令:

    GRANT EXECUTE ON EMP_COUNT TO STUDENT
    

    授权成功。

    步骤3:登录STUDENT账户,在SQL*Plus输入区中输入以下程序:

    SET SERVEROUTPUT ON
      BEGIN
      SCOTT.EMP_COUNT;
      END;
    

    步骤4:执行以上程序,结果为:

    雇员总人数为:14
      PL/SQL 过程已成功完成。 
    

    说明:在本例中,存储过程是由SCOTT账户创建的,STUDEN账户获得SCOTT账户的授权后,才能调用该存储过程。
      注意:在程序中调用存储过程,使用了第二种语法。

    【训练3】  编写显示雇员信息的存储过程EMP_LIST,并引用EMP_COUNT存储过程。

    步骤1:在SQL*Plus输入区中输入并编译以下存储过程:

    CREATE OR REPLACE PROCEDURE EMP_LIST
      AS
        CURSOR emp_cursor IS 
        SELECT empno,ename FROM emp;
      BEGIN
    FOR Emp_record IN emp_cursor LOOP   
      DBMS_OUTPUT.PUT_LINE(Emp_record.empno||Emp_record.ename);
      END LOOP;
      EMP_COUNT;
      END;
    

    执行结果:

    过程已创建。

    步骤2:调用存储过程,在输入区中输入以下语句并执行:

    EXECUTE EMP_LIST
    
    显示结果为:

    7369SMITH
    7499ALLEN
    7521WARD
    7566JONES
    7654MARTIN
    7698BLAKE
    7782CLARK
    7788SCOTT
    7839KING
    7844TURNER
    7876ADAMS
    7900JAMES
    7902FORD
    7934MILLER
    雇员总人数为:14
    
    说明:以上的EMP_LIST存储过程中定义并使用了游标,用来循环显示所有雇员的信息。然后调用已经成功编译的存储过程EMP_COUNT,用来附加显示雇员总人数。通过EXECUTE命令来执行EMP_LIST存储过程。

    【训练4】编写显示部门信息的存储过程DEPT_LIST,要求统计出部门个数。

    参数传递

    参数的作用是向存储过程传递数据,或从存储过程获得返回结果。正确的使用参数可以大大增加存储过程的灵活性和通用性。
    参数的类型有三种,如下所示。

    IN 定义一个输入参数变量,用于传递参数给存储过程
    OUT 定义一个输出参数变量,用于从存储过程获取数据
    IN OUT 定义一个输入、输出参数变量,兼有以上两者的功能
    

    参数的定义形式和作用如下:
    参数名 IN 数据类型 DEFAULT 值;
    定义一个输入参数变量,用于传递参数给存储过程。在调用存储过程时,主程序的实际参数可以是常量、有值变量或表达式等。DEFAULT 关键字为可选项,用来设定参数的默认值。如果在调用存储过程时不指明参数,则参数变量取默认值。在存储过程中,输入变量接收主程序传递的值,但不能对其进行赋值。
    参数名 OUT 数据类型;
    定义一个输出参数变量,用于从存储过程获取数据,即变量从存储过程中返回值给主程序。
    在调用存储过程时,主程序的实际参数只能是一个变量,而不能是常量或表达式。在存储过程中,参数变量只能被赋值而不能将其用于赋值,在存储过程中必须给输出变量至少赋值一次。
    参数名 IN OUT 数据类型 DEFAULT 值;
    定义一个输入、输出参数变量,兼有以上两者的功能。在调用存储过程时,主程序的实际参数只能是一个变量,而不能是常量或表达式。DEFAULT 关键字为可选项,用来设定参数的默认值。在存储过程中,变量接收主程序传递的值,同时可以参加赋值运算,也可以对其进行赋值。在存储过程中必须给变量至少赋值一次。
    如果省略IN、OUT或IN OUT,则默认模式是IN。

    【训练5】  编写给雇员增加工资的存储过程CHANGE_SALARY,通过IN类型的参数传递要增加工资的雇员编号和增加的工资额。

    CREATE OR REPLACE PROCEDURE CHANGE_SALARY(P_EMPNO IN NUMBER DEFAULT 7788,P_RAISE NUMBER DEFAULT 10)
      AS
       V_ENAME VARCHAR2(10);
    V_SAL NUMBER(5);
      BEGIN
       SELECT ENAME,SAL INTO V_ENAME,V_SAL FROM EMP WHERE EMPNO=P_EMPNO;
       UPDATE EMP SET SAL=SAL+P_RAISE WHERE EMPNO=P_EMPNO;
       DBMS_OUTPUT.PUT_LINE('雇员'||V_ENAME||'的工资被改为'||TO_CHAR(V_SAL+P_RAISE));
    COMMIT;
      EXCEPTION
       WHEN OTHERS THEN
       DBMS_OUTPUT.PUT_LINE('发生错误,修改失败!');
       ROLLBACK;
      END;
    

    执行结果为:

    过程已创建。

    步骤3:调用存储过程,在输入区中输入以下语句并执行:

    EXECUTE CHANGE_SALARY(7788,80) 
    --EXECUTE CHANGE_SALARY(7788) 
    --EXECUTE CHANGE_SALARY() 
    

    雇员SCOTT的工资被改为3080  

    说明:从执行结果可以看到,雇员SCOTT的工资已由原来的3000改为3080。
    参数的值由调用者传递,传递的参数的个数、类型和顺序应该和定义的一致。如果顺序不一致,可以采用以下调用方法。如上例,执行语句可以改为:
     EXECUTE CHANGE_SALARY(P_RAISE=>80,P_EMPNO=>7788);
      可以看出传递参数的顺序发生了变化,并且明确指出了参数名和要传递的值,=>运算符左侧是参数名,右侧是参数表达式,这种赋值方法的意义较清楚。

    【训练6】  使用OUT类型的参数返回存储过程的结果。

    步骤1

    CREATE OR REPLACE PROCEDURE EMP_COUNT(P_TOTAL OUT NUMBER)
      AS
      BEGIN
      SELECT COUNT(*) INTO P_TOTAL FROM EMP;
      END;
    

    步骤2

    DECLARE
      V_EMPCOUNT NUMBER;
      BEGIN
      EMP_COUNT(V_EMPCOUNT);
      DBMS_OUTPUT.PUT_LINE('雇员总人数为:'||V_EMPCOUNT);
      END;
    

    显示结果为:

    雇员总人数为:14
      PL/SQL 过程已成功完成。
    

    【训练7】  使用IN OUT类型的参数,给电话号码增加区码。

    步骤1:

    CREATE OR REPLACE PROCEDURE ADD_REGION(P_HPONE_NUM IN OUT VARCHAR2)
      AS
      BEGIN
       P_HPONE_NUM:='0755-'||P_HPONE_NUM;
      END;
    

    步骤2:输入以下程序并执行:

    SET SERVEROUTPUT ON
    DECLARE
    V_PHONE_NUM VARCHAR2(15);
    BEGIN
    V_PHONE_NUM:='26731092';
    ADD_REGION(V_PHONE_NUM);
    DBMS_OUTPUT.PUT_LINE('新的电话号码:'||V_PHONE_NUM);
    END;
    



     




    展开全文
  • 已经创建了一个学生表。现在,创建一个存储过程,若没有学生的姓名,则返回所有学生 的有关情况。 即就是根据传入参数的有无来判断创建怎样的存储过程。求指点。。。
  • 创建带输入参数存储过程

    千次阅读 2019-05-28 22:59:00
    创建带输入参数存储过程 语法 create proc[edure] 存储过程名  @参数1 数据类型=默认值,  ……  @参数n 数据类型=默认值 as  sql语句 go --必须要加批处理的go 例子: 1 --创建带输入参数的...
  • 创建不带参数存储过程

    千次阅读 2019-05-28 22:22:00
    不带存储的存储过程的语法 ...--创建不带参数存储过程 use E_Market go --检测是否存在要创建存储过程,如果存在将其删除 if exists(select * from sysobjects where name='usp_GetCom...
  • oracle 创建无存储过程

    千次阅读 2014-09-23 15:26:57
    create or replace procedure pro_miss_history as t_waybillNo varchar2(20); t_checkCode varchar2(20); t_checkTime date; t_missTime date; t_compareTime da...
  • Oracle 使用OUT参数创建/调用存储过程

    千次阅读 2017-05-02 17:55:09
    1.OUT类型的参数存储过程传入值,然后由用户接受参数值。下面通过SCOTT.EMP表创建一个搜索过程,该过程将根据所提供的EMPNO列的值检索雇员的ENAME和SAL SQL> create or replace procedure search_employee( 2 ...
  • 创建带输出参数存储过程

    千次阅读 2016-02-20 02:12:23
    带输出参数存储过程的语法CREATE PROCP[EDURE] 存储过程名 @参数1 数据类型=默认值 OUTPUT, …… @参数n 数据类型=默认值 OUTPUTAS SQL 语句GO --必须要加批处理的GO--创建带输入输出参数存储过程/* 题目要求 向...
  • SQLServer -- 自定义无参数存储过程

    千次阅读 2017-09-03 08:02:56
    自定义储过程use StuManageDB go if exists(Select * from sysobjects where name='usp_ScoreQuery') ...gocreate procedure usp_ScoreQuery --创建存储过程 as --查询考试信息 select Students.Stu
  • mysql 带有无参数存储过程

    千次阅读 2016-11-10 20:09:05
    1、无参数存储过程:{call procedure_name} 2、仅有输入参数的存储过程:{call procedure_name(?,?…)}。 这里?表示输入参数,创建存储过程时用in表示输入参数 3、仅有输出参数的存储过程:{cal
  • 背景:在向数据表中插入数据时调用已定义的存储过程,对插入数据进行xml解析,该存储过程参数, 解决方法:为插入数据表建立触发器,在触发器中调用存储过程 存储过程:请参见上一篇博客文章 oracle中使用存储...
  • 对于IN参数而言,它可以接受一个值,但是不能在过程中修改这个值。而对于OUT参数而言,它调用过程时为空,在过程的执行中将为这参数指定一个值,并在执行结束后返回。... #创建SWAP存储过程交换两个数的位置 SQL> cr
  • ACCESS里面创建参数存储过程

    千次阅读 2010-01-06 17:34:00
    需要注意的是page_load里面的创建存储过程只能执行一次,如果第二次还要创建同名的话会提示错误信息“存储过程已经存在。”,其实加个判断就行了。懒得加了,只是用来试验一下。 调试环境 ASP.NET 2.0(编译工具VS...
  • Oracle存储过程及举例(几种参数情况的存储过程

    万次阅读 多人点赞 2017-05-06 22:22:50
    Oracle存储过程及举例(几种参数情况的存储过程
  • --存储过程 存储过程+包 包+包体...无参数存储过程create or replace procedure sp_emp_proc as--声明语句段v_name varchar2(200);begin--执行语句段 select ename into v_name from emp where empno=7788; db...
  • 创建存储过程,执行存储过程

    千次阅读 2018-07-27 17:18:07
    无参数存储过程 create or replace procedure 存储过程的名称 is begin  xxxx......此处为自己需要执行的sql语句 commit; end 存储过程的名称;   含有入参的存储过程   create or replace procedure ...
  • CREATE PROCEDURE sp_add(a int, b int,out c int) begin set c=a+ b; end; 调用过程: call sp_add (1,2,@a); select @a;
  • MySQL创建、调用存储过程

    万次阅读 2019-03-18 15:47:13
    一、创建存储过程 今天我们搞一搞MySQL的存储过程,过程中踩了一些小坑,算是做个总结归纳~ 首先,我们了解一下存储过程创建语句: CREATE PROCEDURE `index_statistic`(IN `flag` varchar(10),OUT `result` ...
  • 创建和使用存储过程

    千次阅读 2017-10-15 18:46:25
    创建和使用存储过程 用CREATE PROCEDURE命令建立存储过程和存储函数。语法: create [or replace] PROCEDURE 过程名(参数列表) AS PLSQL子程序体;*/ –第一个存储过程:打印Hello World /* 调用存储过程1....
  • 创建一个存储过程 ![图片说明](https://img-ask.csdn.net/upload/201710/16/1508128223_380091.png) 执行输入参数 ![图片说明](https://img-ask.csdn.net/upload/201710/16/1508128237_685505.png) 执行结果却是这样...
  • mysql数据库创建带输入参数存储过程创建成功,执行''call语句失败
  • ORACLE存储过程

    万次阅读 多人点赞 2018-11-02 18:14:48
    oracle存储过程 目录 一.什么是存储过程 二.为什么要写存储过程 三.存储过程基础 1.存储过程结构 2.存储过程语法 3.pl/sql处理存储过程 四.存储过程进阶 1.BUIK COLLECT 2.FORALL 3.pl/sql调试存储过程 ...
  • 创建存储过程

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

    万次阅读 2019-03-27 17:08:44
    Navicat for MySQL创建存储过程及MyBatis调用存储过程 问题描述 一条语句实现向两个表中添加数据 前段时间遇到需求,向一个表中添加数据,获取新增主键值。再向另一个表添加数据,其中一个字段为前一个表的主键值。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 793,544
精华内容 317,417
关键字:

创建无参数存储过程