存储过程示例

存储过程示例存储过程示例:例1:创建不带参数的存储过程输出系统日期createorreplaceprocedureoutput_dateisbegindbms_output.put_line(sysd

大家好,又见面了,我是你们的朋友全栈君。

存储过程示例:

例1:创建不带参数的存储过程
输出系统日期
create or replace procedure output_date is
begin
dbms_output.put_line(sysdate);
end output_date;

例2 带参数in和out的存储过程
create or replace procedure get_username(v_id in number, v_username out varchar2)
as
begin
select username into v_username from tab_user where id=v_id; –变量赋值
exception
when no_data_found then
raise_application_error(-2001,’ID不存在!’);
end get_username;

 

例3:一个高效的数据分页的存储过程、
create procedure pageTest
(
@FirstId nvarchar(20)=null, –当前页面里的第一条记录的排序字段的值
@LastID nvarchar(20)=null, –当前页面里的最后一条记录的排序字段的值
@isNext bit=null, –true 1: 下一页; false 0:上一页;
@allCount int output, –返回总记录书
@pageSize int output, –返回一夜的记录数
@CurPage int –也好(第几页) 0:第一页;-1最后一页
)
AS
if @CurPage = 0 –第一页;
begin –统计总记录数
select @allCount=count(ProductId) from Product_test

set @pageSize = 10
–返回第一页的数据
select top 10
ProductId,
ProductName,
Introduction
from Product_test order by ProductId
end

else if @CurPage=-1 –表示最后一页

select * from
(select top 10 ProductId,
ProductName, Introduction

from Product_test order by ProductId desc ) as aa
order by ProductId
else

begin
if @isNext=1
–翻到下一页
select top 10 ProductId,
ProductName,
Intorduction
from Product_test where ProductId > @LastID order by ProductId
else
–翻到上一页
select * from
(select top 10 ProductId,
ProductName,
Introduction
from Product_test where ProductId<@FirstId order by ProductId desc)
as ProductId
end
)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155245.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月2日 下午3:00
下一篇 2022年7月2日 下午3:00


相关推荐

  • 二进制减法的简单过程

    二进制减法的简单过程二进制减法的运算方法二进制减法有两种运算方法,可以使用向高位借位的办法,也可以将减法转为加法采用借位的办法不是很快捷,比较容易看错,示例如下:1010-0111————0011被减数末尾的0向前一位借1,相当于10(2)-1得到1,倒数第二位被借一位后变0,继续向前一位借,以此来得到结果,如果减数大于被减数,则需将最后的结果按位取反得到结果。另外也可采用转换为加法…

    2022年6月28日
    28
  • SpringBoot 跨域配置

    SpringBoot 跨域配置介绍三种方式使用SpringBoot配置跨域。

    2022年6月16日
    29
  • 什么是pl/sql语句_过程化SQL有三种循环结构

    什么是pl/sql语句_过程化SQL有三种循环结构—认识PL/SQL   ***PL/SQL的使用几乎贯穿于整个Oracle的学习过程,也是作为一个初级开发人员必须掌握的重要知识点。   ***结构化查询语言(SQL)是用来访问和操作关系型数据库的一种标准通用语言,它属于第四代语言(4GL),       简单易学,使用它可以很方便地调用相应的语句来取得结果。该语言的特点就是非过程化。也就是说,使用       的…

    2022年10月11日
    4
  • JavaSE和JavaEE的区别

    JavaSE和JavaEE的区别JavaSE 和 JavaEE 的区别 JavaEE JavaEnterpri Java 企业版 多用于企业级开发 包括 web 开发等等 企业版本帮助开发和部署可移植 健壮 可伸缩切安全的服务端 Java 应用 JavaEE 是在 JavaSE 的基础上构建的他提供 Web 服务 组建模型 管理和通信 API 可以用来实现企业级的面向服务体系结构 service orientedarch

    2026年3月19日
    2
  • fastdfs

    fastdfs

    2021年5月28日
    130
  • docker-compose 集群_docker redis 集群

    docker-compose 集群_docker redis 集群前言实际工作中我们部署一个应用,一般不仅仅只有一个容器,可能会涉及到多个,比如用到数据库,中间件MQ,web前端和后端服务,等多个容器。我们如果一个个去启动应用,当项目非常多时,就很难记住了,所有

    2022年8月6日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号