plsql

    1热度

    3回答

    我是Oracle和数据库的新手。 我想用游标编写存储过程。我该如何在游标循环中编写select语句,以及如何循环从游标循环中的select中得到的结果集? 例如: Open Curs1; Exit When Curs1%NotFound; Loop Select column1,column2 from table -- Returns multiple recor

    2热度

    2回答

    我是SQL新手,我试图在两个REF'd列值之间获取2个值之间的日期。 我现在有表设置如下图所示: CREATE OR REPLACE TYPE Person_Type AS OBJECT (PersonId NUMBER, DateBorn DATE) CREATE OR REPLACE TYPE Movie_Type AS OBJECT (MovieId NUMBER, Releas

    -1热度

    1回答

    我已选择具有3个值0,1,2的p_water,并且如果我选择1,2我将从表中获得场水为1或2的结果,但是如果我选择0我想获得1和2的组合。我将如何做? AND zs.water = nvl(:p_water,zs.water)这无法帮助我获得0值。 感谢 SELECT rua.DATUM_DOKUMENTA DATUM_DOKUMENTA, rua.VRSTA_promjene VRS

    -4热度

    1回答

    开始我有一个小requirement.How得到以下输出反向位置的数字: 输入的字符串123456 我需要找到相反的位置,从2日开始,即234567。 现在将每个值乘以反向位置值并相加。 例如:1*7+2*6+3*5+4*4+5*3+6*2在plsql中。

    0热度

    1回答

    我有一个光标查询外部表的过程。我如何通过select的表名? procedure ImpInsData(fileN varchar2,Tname VARCHAR2) as begin IXRBI.EXternalChange (fileN,Tname); declare cursor cur_extenal is select * from Tname WHE

    1热度

    1回答

    我想设置一些私有方法是有条件可见的,但只限于一个特定的架构,其中容纳我的单元测试。 在我的研究中,我一直未能找到一种可以实现这一点的方法。一个包常量显然不起作用,PLSQL_CCFLAGS似乎也无法做到这一点。 我真正想要做的就是像下面 - $IF USER = 'TEST' $THEN --all my various procedures that should be hidden

    -4热度

    1回答

    我是新来的PL/SQL需要以下情况的查询: 2表:配有1一个没有,命名 第二与卷没有,主题ñ标记 需要编写一个查询将在每个主题与他们得分 我写了下面的查询上述标记沿取前3名学生的名字,但它不取正确的结果: SELECT TABLE1.NAME, MAX(TABLE2.MARKS) FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.ROLL_NO = TABL

    0热度

    3回答

    我是SQL的新手,我试图制作一张存储足球联赛时间表的表格。该表包含4列(matchID, home_team, away_team, match_date)。我有8支不同的球队,每支球队都应该对阵其他两支球队。比赛将持续14周(每周4场比赛)。我搜索并发现double round robin algorithm做同样的事情,但我不知道如何写在PL/SQL中,并生成一个表。请帮帮我。

    -3热度

    1回答

    我将作业定义为每隔5分钟从星期二运行至星期日。从上午9点到晚上22点 BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'GET_INVOICES_JOB', job_type => 'PLSQL_BLOCK', job_action => 'BEGIN LOPES.GET_INVOICES; END;', repeat_interval =>'F

    0热度

    1回答

    我需要找到具有最多的最常用视频的帐户,但我不知道如何增加帐户ID以循环所有帐户。 我知道如何找到每个帐户的收藏视频数量。 DECLARE userid NUMBER(3) := 2; CURSOR items IS SELECT id_account FROM favorites; counter NUMBER(3) := 0; BEGIN