小编Pyd*_*aju的帖子

Oracle 存储过程中的提交和回滚

在我的 Oracle 存储过程中,我有多个插入和更新语句,如下所示:

create or replace PROCEDURE SPTest
AS 
BEGIN 
  insert into emptest(empid,empname,deptno)
  (1,'ravi',10);

  insert into test1(id,name,sal)
  (1,'raju',4444);

  update emptest set empname='hari' where empid=1;
END;
Run Code Online (Sandbox Code Playgroud)

如果我在任何语句中遇到任何错误,我想回滚所有插入和更新语句。

如何在此存储过程中实现提交和回滚?

oracle oracle-11g plsql

5
推荐指数
1
解决办法
4万
查看次数

将重复的行合并为一行

我在 MySQL 中有一个如下表:

+-----+------+-------+-----------+----------+---------+
| #id | NAME | empid |   c_lan   | Java_lan | Dot_lan |
+-----+------+-------+-----------+----------+---------+
|   1 | raju |   111 |      yes  |    NULL  | NULL    |
|   1 | raju |   111 |      NULL |    NO    | NULL    |
|   1 | raju |   111 |      NULL |    NULL  | na      |
|   2 | ramu |   222 |      yes  |    NULL  | NULL    |
|   2 | ramu |   222 |      NULL |    NO …
Run Code Online (Sandbox Code Playgroud)

mysql duplication

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

加入 sqlite 中的 Update 语句

CREATE TABLE Table_1 (
    Id INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL ,
    EmailId VARCHAR
)

INSERT INTO Table_1 VALUES (1,'raj@gmail.com');
INSERT INTO Table_1 VALUES (3,'test@gmail.com');
INSERT INTO Table_1 VALUES (4,'false5@gmail.com');
INSERT INTO Table_1 VALUES (7,'false55@gmail.com');
INSERT INTO Table_1 VALUES (8,'falsefalse@gmail.com');
INSERT INTO Table_1 VALUES (9,'true1@gmail.com');
INSERT INTO Table_1 VALUES (11,'true2@gmail.com');
INSERT INTO Table_1 VALUES (12,'falsefalsefalse@gmail.com');
INSERT INTO Table_1 VALUES (13,'ravi@gmail.com');
INSERT INTO Table_1 VALUES (14,'rak@gmail.com');
INSERT INTO Table_1 VALUES (15,'false@gmail.com');
INSERT INTO Table_1 VALUES (16,'false66@gmail.com');


CREATE TABLE Table_2 (
    Id …
Run Code Online (Sandbox Code Playgroud)

sqlite join update

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

如何在 MySQL 中授予全局权限?

我需要有限的全局权限,例如“选择执行”并向一名用户授予权限。

我该如何给予,任何人都可以帮助我。

mysql

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

如何在 Oracle 调度程序作业中调用存储过程

我想在 Oracle 调度程序作业中调用存储过程。我的程序和工作如下所示:

存储过程

create or replace PROCEDURE emp_test                                              
IS
begin

delete from  emp;
insert into emp(empid,empname)
select empid1,empname1 from emp_temp;
end;
Run Code Online (Sandbox Code Playgroud)

工作

BEGIN
dbms_scheduler.create_job (
job_name => 'emp_test_JOB',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN
CALL emp_test();
END;',
start_date => SYSTIMESTAMP,
enabled => true,
repeat_interval => 'FREQ=DAILY');
END;
Run Code Online (Sandbox Code Playgroud)

我可以像CALL emp_test()不使用工作一样调用过程。

当我在上面的作业中使用相同的东西时,作业已成功创建,但程序未运行,未插入行。我需要运行这个作业并且应该插入行;有人可以帮我吗?

oracle stored-procedures oracle-11g-r2 plsql jobs

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