存储过程DIY1

432道MySQL面试题 121 -140 题 为方便阅读,这里整理了整个系列的索引导航。本系列共 432 道 MySQL 面试题,按每 20 题为一篇进行连载,点击下方链接即可跳转到对应章节,方便你按需查阅、系统复习。 阅读详情
  • sqlserver中创建存储过程
    (1)建立自己的库
    (2)打开库,新建存储过程,CREATE PROCEDURE [owner].[procedureName] AS
        owner-----dbo   后一个参数可以自己定
    (3)要具体编写存储过程的内容,可以在右栏中双击你的存储过程名称
    (4)一个简单的存储过程
       CREATE PROCEDURE [dbo].[test] AS
       select count(*) as  sum from test1
       GO
    (5)运行存储过程
       在查询分析器中,找好数据库,然后 exec test 在点击 [运行]
  • ORACLE中创建存储过程

      在PROCEDURE 上面右击 选择 NEW

  例子:(1)我写的例子

create or replace procedure FlowMove_ModifyCZW(needSigBillNo in varchar2,
getFlowInstanNo in varchar2, getflowNodeNo in varchar2, flowState in varchar2,
nextNode  in varchar2 )

is
dates TIMESTAMP(6);
begin
 dbms_output.put_line('ffffffff');
--(1)修改当前用户的处理日期
 update tetdmis.gzl_流程流转状态 a1
 set a1.处理日期=to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-MM-dd')
 where a1.流程实例编号=getFlowInstanNo and a1.节点编号=getflowNodeNo;
 --(2)修改流程实例表的流程状态和当前节点编号
 update tetdmis.gzl_流程实例 a2
 set a2.流程状态=flowState,a2.当前节点编号=nextNode
 where a2.流程实例编号=getFlowInstanNo;
 --(3)如果流程没有流转完成,还要修改下一个节点的到达日期
 if flowState!='流转完成' then
  dbms_output.put_line('okkkkk');
  update tetdmis.gzl_流程流转状态 a3
 set a3.到达日期=to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-MM-dd')
 where a3.流程实例编号=getFlowInstanNo and a3.节点编号=nextNode;
 end if;
 --(4)根据单据编号 查找 DJ_单据单件明细 表,找到有多少单件虚拟编号
 if needSigBillNo!='nobill' then
  update tetdmis.CZW_出租物单件信息 a
   set a.已制单='否',
  (a.当前状态,a.位置编号)=(select 新状态,新位置 from tetdmis.DJ_单据单件明细 b
  where 单据编号=needSigBillNo and a.单件虚拟编号=b.单件虚拟编号)
  where a.单件虚拟编号 in (select 单件虚拟编号
  from tetdmis.DJ_单据单件明细 c where a.单件虚拟编号=c.单件虚拟编号 and c.单据编号=needSigBillNo);
 
 --(5)修改REP_每日出租物状况分布表,追溯到生效日期
 select pp.生效日期 as into dates from tetdmis.dj_单据 pp where pp.单据编号=needSigBillNo;
 -----------------------------------------------------
   update tetdmis.REP_每日出租物状况分布表 a
   set a.已制单 = '否',
      (a.当前状态, a.位置编号) =
      (
      select b.当前状态, b.位置编号
      from tetdmis.czw_出租物单件信息 b
        where
        b.单件虚拟编号=a.单件虚拟编号
        )
     where  a.日期 between (to_date(to_char(dates,'yyyy-mm-dd'),'yyyy-MM-dd'))
    and (to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-MM-dd'))
    and a.单件虚拟编号 in(select c1.单件虚拟编号
                  from tetdmis.DJ_单据单件明细 c1
                 where c1.单据编号 =needSigBillNo  );
 end if;
commit;
end flowmove_modifyczw;

(2)ORACLE中存储过程的测试

 在NEW ----->COMMAND WINDOW中SQL>  execute FlowMove_ModifyCZW('gj050506020010');

当然,此处参数传的个数不够,当时只是测试屏蔽了其他参数

(3)注意的问题

把循环放在外面(循环用IN构造)

(4)在JUBILDER中怎样调用存储过程

//定义变量

QueryDataSet qds = null;
 CallableStatement cstmt = null;
 Connection con = null;

///初始化

qds = WorkFlowDM.getDataModule().getQdsForBlob();
   qds.getDatabase().setConnection(cndp);
   con = qds.getDatabase().getJdbcConnection();

///调用存储过程

qds = WorkFlowDM.getDataModule().getQdsForBlob();
   qds.getDatabase().setConnection(cndp);
   con = qds.getDatabase().getJdbcConnection();
   cstmt = null;
   cstmt = con.prepareCall("{call TETDMIS.FlowMove_ModifyCZW(?,?,?,?,?)}");
   cstmt.setString(1, needSigBillNo); //将流程实例编号赋给存储过程
   cstmt.setString(2, getFlowInstanNo);
   cstmt.setString(3, getflowNodeNo);
   cstmt.setString(4, "流转完成");
   cstmt.setString(5, null);
   cstmt.execute();


Windows 本地 PostgreSQL 忘记 postgres 密码后,如何重置密码并给 root 用户最高权限 <think>我们只需要根据内容生成摘要,不超过150字。摘要应该简明扼要概括主要问题和解决步骤。注意是中文摘要。</think>在Windows本地开发中,因root数据库账号无CREATEDB权限且忘记postgres超级管理员密码,通过临时修改pg_hba.conf为trust认证重置密码,并重启PostgreSQL服务进行登录,最后授予root用户SUPERUSER等权限,完成数据库创建。 阅读详情

相关推荐

【Frida Android】实战篇4:SSL Pinning 证书绑定绕过 Hook 教程(一)

在前两章中,我们学习了中间人抓包与 Hook 抓包的基础方法,这些方法在理想环境下能够有效获取网络请求数据。但在实际的企业级应用中,出于安全防护需求,很多 APP 会启用证书绑定(SSL Pinning)机制。这种机制会让客户端对服务器证书的校验更为严格,导致常规的抓包方法(即使将 BurpSuite/Charles 证书安装到系统信任区)也无法生效。因此,从本章开始,我们将系统学习 SSL Pinning 机制的绕过技术。SSL Pinning(证书绑定)是客户端校验服务器身份的进阶安全机制。

水滴石穿 1571

MySQL创建存储过程(CREATE PROCEDURE)

MySQL 存储过程是一些 SQL 语句的集合,比如有的时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中还需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程。下面我们来介绍一下如何创建一个存储过程

unber的博客 2692

优化dalsa相机检测界面

上节实现了使用qt结合dalsa相机显示检测到缺陷的画面,由于窗口过于简陋,本节将进行一个界面优化。

A1983Z的博客 908

关于视图和存储过程的权限问题探究

今天在处理一个工单的时候发现了一个奇怪的现象,开发同学需要创建一个存储过程,目前的架构类似这样的形式 数据库中存在一个属主用户,表,存储过程等对象都创建在这个用户上,而另外有一些连接用户,根据业务和功能可能访问的对象权...

congbao6525的博客 184

通過存儲過程插入和返回數據

通過存儲過程插入和返回數據 作者:Tariqaziz 翻譯:zhiyong.tong 此文出自:http://www.codeproject.com/ 導言 使用存儲過程代替標準SQL有很多好處。首先,存儲過程允許提供許多條件邏輯。第二,因爲存儲過程存儲在DBMS中,執行時間被减少。這是因爲一個單一的存儲過程可以執行複雜的SQL語句的集合。第三,SQL Server預編譯存儲過程,...

weixin_30737433的博客 165

SQL存储过程的所有者修改方法

在你所需要修改存储过程的数据库里添加如下存储过程,可以直接在查询分析器里运行 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[changename]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[changen...

weixin_30527143的博客 446

利用Alcon跟踪as的trace信息

1、安装Alcon后,在安装目录的debug/as3下找到alcon.swc文件 2、将alcon.swc导入到项目中。 3、需项目中需要打印日志的地方输入Debug.trace("hello")。 在运行项目时,将Alcon打开,再运行时,就能看到trace的信息了。...

java电商源码分享 247

T-SQL 中 CREATE PROCEDURE 语法

CREATE PROCEDURE创建存储过程存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。也可以创建在 Microsoft® SQL Server™ 启动时自动运行的存储过程。语法CREATE PROC [ EDURE ]

centver的专栏 7952

SQLServer之创建存储过程

创建存储过程注意事项 在 SQL Server、 Azure SQL Database、Azure SQL 数据仓库和并行数据库中创建 Transact-SQL 或公共语言运行时 (CLR) 存储过程存储过程与其他编程语言中的过程类似。 可以在当前数据库中创建永久过程,或者在 tempdb 数据库中创建临时程序。 存储过程可以: 接受输入参数并以输出参数的格式向调用过程或批处理返回多个值。 包含...

weixin_34018202的博客 4289

Sql Server 存储过程基础

将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。 存储过程的优点: 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行...

数据库 151

Sybase存储过程的建立和使用

存储过程的特点   Sybase的存储过程是集中存储在SQL Server中的预先定义且已经编译好的事务。存储过程由SQL语句和流程控制语句组成。它的功能包括:接受参数;调用另一过程;返回一个状态值给调用过程或批处理,指示调用成功或失败;返回若干个参数值给调用过程或批处理,为调用者提供动态结果;在远程SQL Server中运行等。      存储过程的性能特点如下:   ·存储过程是预编译过的,这

nm的专栏 1974

PostgreSQL 并发约束实战(第 1 篇):排他约束如何挡住并发重复预约

两个用户同时预订会议室 A 的 10:00—11:00。两个请求都先查询“没有冲突”,随后各自插入一条预约,两个事务也都成功提交。SQL 没报错,唯一键没有重复,会议室却被卖了两次。PostgreSQL 真正形成差异的地方,不是比另一种数据库多几个数据类型,而是能把“同一资源的时间段不得重叠”变成提交时持续成立的数据库约束。这篇文章只证明这一个判断。它不证明 PostgreSQL 在所有 OLTP 场景都优于 MySQL,也不证明所有业务规则都应该塞进数据库。

weixin_42426485的博客 436

【好靶场】报错注入-sql注入-字符型

在 SQL 注入学习中,很多人习惯直接复制 Payload 拿 Flag,却无法独立分析漏洞成因与利用逻辑。想要真正掌握注入,必须建立一套标准化探测流程:判断可控输入、确定闭合方式、探测字段数量、定位回显位置、枚举库表结构、读取目标数据。本次靶场为单引号闭合字符型 SQL 注入,页面具备 SQL 错误回显且支持 UNION 联合查询。本题仅依靠报错完成漏洞探测,核心数据利用方式为 UNION 联合查询,不属于报错注入利用。FROM user。

Sagittarius_A*的博客 402

单文件部署的MQTT轻量级物联网数据平台

变量 `value` 为设备上报的原始值,支持 `+ - * / % **` 及 `abs round min max pow int float sqrt`,如 `value / 10 - 40`。- **全局**:点击左侧导航「**报警信息**」,可直接查看当前账号可见范围内**未消除的报警**,每条显示时间、设备、产品、属性、报警类型(超上限 / 低于下限)、当前值与阈值。删除 `iot.db`(和 `db.key`)会重置为默认账号 admin/admin123,但**会清空所有数据,慎用**。

u012320127的博客 300

Oracle】一次ORA-12514错误解决总结

整个过程的核心是从磁盘空间满问题入手,清理临时文件,启动数据库,重建缺失文件,最后强制注册监听器。为临时表空间文件,大小 28GB,数据库关闭时内容无效,可安全删除。:监听器运行正常,但未注册任何服务,判断数据库实例未启动或未注册。:数据库挂载(MOUNTED)成功,但因缺少临时文件未自动打开。:查看 PMON 进程是否存在,确认数据库是否已启动。:立即让监听器识别到数据库服务,无需等待自动注册周期。:无 PMON 进程,数据库实例处于关闭状态。:释放足够的磁盘空间,使数据库能正常启动。

姜太小白的博客 175

Oracle 19c OCP认证全解析:考试语言、难度与备考指南

2026年Oracle 19c OCP考试为全英文机考,难度中等偏上。本文详细解析考试语言、科目(1Z0-082与1Z0-083)、及格线(60%与57%、通过率及备考策略,助力考生高效通过Oracle 19c OCP认证。

2501_94660483的博客 414

不太常见的10.2.0.1oracle redo损坏恢复---惜分飞

曾经恢复过大量10g的库,现在一年也恢复不了几个10g的了,而10.2.0.1的64位库更是少之又少了.近期有幸处理过一个这样的case,重温了当年的感觉。直接使用_minimum_giga_scn修改scn,数据库open成功,并使用expdp成功导出数据,完成本次恢复工作。这种错误基本上要不bbed/obet修改文件头,要不直接屏蔽一致性强制打开,我直接选择了强制拉库,先做不完全恢复。然后强制拉库报ORA-600 2662错误。接手之后再次验证了该错误。

194

Oracle迁移到PostgreSQL数据库-FGOracle2PG工具

FGOracle2PG 是一款高性能、高可靠的 Oracle 数据库到 PostgreSQL 数据库迁移工具。它由风哥基于多年数据库运维与迁移实战经验开发。工具采用纯 Python 实现,支持命令行(CLI)与可视化 Web 控制台两种操作方式,能够覆盖从开发测试到生产环境的全场景数据库迁移需求。

风哥oracle/mysql/pg技术教程 186

【基于GO的Web开发20】GORM 查询操作

查询不到数据时,才使用 Attrs 里面的值初始化结构体;把查询结果扫描到结构体,复用查询逻辑,不一定绑定 model。Map 会把所有 key-value 全部作为查询条件,可以把条件不断拼接,最后调用立即执行方法执行 SQL。无论是否查询到数据,都会把参数赋值给结构体变量。抽取通用查询逻辑,封装成函数,实现查询逻辑复用。,会查询单条记录,需要传入模型指针接收结果。,直接提取到切片,不需要完整模型结构体。链式调用中,如果写多个立即执行方法,只查询需要的列,避免查询全部字段。直接传入主键切片,等价于。

2503_92676540的博客 217

GAMES101-现代计算机图形学学习笔记(作业06)

在之前的编程练习中,我们实现了基础的光线追踪算法,具体而言是光线传输、光线与三角形求交。我们采用了这样的方法寻找光线与场景的交点:遍历场景中的所有物体,判断光线是否与它相交。在场景中的物体数量不大时,该做法可以取得良好的结果,但当物体数量增多、模型变得更加复杂,该做法将会变得非常低效。因此,我们需要加速结构来加速求交过程。在本次练习中,我们重点关注物体划分算法 Bounding Volume Hierarchy (BVH)。本练习要求你实现 Ray-BoundingVolume 求交与 BVH 查找。

下一篇: 关于在j2ee开发中进行数字签名的实践与思考
brave1
博客等级 码龄22年 19粉丝 114原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值