小编use*_*936的帖子

Oracle条件更新查询

我有一个要求如下所示:

假设我们有5行的EMP表,deptno = 20 - 这是我将从输入参数得到deptno ie20

EMPNO   ENAME   JOB       MGR   HIREDATE    SAL     COMM    DEPTNO 
--------------------------------------------------------------------------------
7566    JONES   MANAGER   7839  04/02/1981  2975    -   20 
7788    SCOTT   ANALYST   7566  12/09/1982  3000    -   20 
7902    FORD    ANALYST   7566  12/03/1981  3000    -   20 
7369    SMITH   CLERK     7902  12/17/1980  800     -   20 
7876    ADAMS   CLERK     7788  01/12/1983  1100    -   20 
Run Code Online (Sandbox Code Playgroud)

现在我想在程序中写一个UPDATE查询,它将更新EMP表集JOB ='MANAGER',其中empno in(7788,7902); - 这里是empno ie 7788和7902我将从输入参数得到

我的更新查询应该为deptno = 20的2行更新JOB ='MANAGER',而我要更新的3行的其余部分将为Null值.

所以最终输出如下所示:

EMPNO   ENAME   JOB       MGR   HIREDATE    SAL     COMM    DEPTNO 
--------------------------------------------------------------------------------
7566    JONES             7839 …
Run Code Online (Sandbox Code Playgroud)

oracle procedure

3
推荐指数
1
解决办法
8040
查看次数

在Oracle对象类型构造函数中设置默认值

我想在Oracle对象类型中设置默认值,但是它需要为此在构造函数中传递所有属性。

无论如何,有没有,所以我只能在需要默认值的构造函数中传递必需的属性。

请查看以下详细信息

    SQL> CREATE TYPE TYPE_SUB AS OBJECT(
      2 COL1 NUMBER,
      3个COL2 VARCHAR2(100)
      4)
      5非决赛
      6 /

    类型已创建。

    SQL>创建或替换类型TYPE_MAIN
      2 UNDER TYPE_SUB
      3(
      4个COL3 varchar2(10),
      5个COL4 VARCHAR2(10),
      6 CONSTRUCTOR FUNCTION TYPE_MAIN(COL1 NUMBER,COL2 VARCHAR2,COL3 varchar2,COL4 VARCHAR2)作为结果返回
      7非决赛
      8 /

    类型已创建。

    SQL>创建或替换类型主体TYPE_MAIN IS
      2构造函数函数_MAIN(COL1编号,COL2 VARCHAR2,COL3 varchar2,COL4 VARCHAR2)按结果返回自
      3开始
      4 SELF.COL1:= nvl(COL1,123);
      5 SELF.COL2:= nvl(COL2,'NA');
      6 SELF.COL3:= nvl(COL3,'NA');
      7 SELF.COL4:= nvl(COL4,NULL);
      8 RETURN;
      9结束;
     10 END;
     11 /

    输入创建的正文。

    SQL>创建表TAB_MAIN(
      2个PKEY NUMBER,
      3 COLTEST VARCHAR2(100),
      4个COLNEW TYPE_MAIN)
      5 /

    表已创建。

    SQL>插入TAB_MAIN(PKEY)值(1)
      2 …

oracle types plsql function object-type

1
推荐指数
1
解决办法
9138
查看次数

标签 统计

oracle ×2

function ×1

object-type ×1

plsql ×1

procedure ×1

types ×1