当前位置: 代码迷 >> Oracle开发 >> 依据sql编一个存储过程
  详细解决方案

依据sql编一个存储过程

热度:27   发布时间:2016-04-24 06:38:49.0
根据sql编一个存储过程
大家好,sql为select a.y , b.z from a join b on a.x = b.x where to_char(a.startTime,'YYYY-MM')='2014-08';
想把开始时间,就是'2014-08'当成参数做存储过程,请问怎么做?

------解决方案--------------------
引用:
大家好,sql为select a.y , b.z from a join b on a.x = b.x where to_char(a.startTime,'YYYY-MM')='2014-08';
想把开始时间,就是'2014-08'当成参数做存储过程,请问怎么做?

直接定义一个VARCHAR2类型的参数,传进来作为放在条件中就行了
------解决方案--------------------
CREATE OR REPLACE PROCEDURE TEST(P_MONTH IN VARCHAR2) IS
BEGIN
    --执行你的操作
    --select a.y , b.z from a join b on a.x = b.x where to_char(a.startTime,'YYYY-MM')=P_MONTH;
END;

不知道你的语句准备怎么用?游标?
------解决方案--------------------
引用:
大家好,sql为select a.y , b.z from a join b on a.x = b.x where to_char(a.startTime,'YYYY-MM')='2014-08';
想把开始时间,就是'2014-08'当成参数做存储过程,请问怎么做?

在存储过程定义的时候参数里面加一个字符型IN(输入)参数就行了啊。
在后续sql中直接用此变量代替你sql中的时间字符串就OK了。
  相关解决方案