Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 更新数据库中的记录_Sql_Oracle_Function_Plsql_Commit - Fatal编程技术网

Sql 更新数据库中的记录

Sql 更新数据库中的记录,sql,oracle,function,plsql,commit,Sql,Oracle,Function,Plsql,Commit,我在JDeveloper中创建了一个基于EJB的项目,并且有一个自动填充数据的表单。用户可以更改他想要的任何数据,最后他应该单击“提交”/“回滚”按钮,数据库中的数据应该更改。我的要求是在包中创建一个函数,如果更改成功,它将返回fault/ok。我创建了一个过程,但函数更适合此操作。这是我的程序 PROCEDURE edit( p_i_id NUMBER, p_i_name VARCHAR2); PROCEDURE EDIT( p_i_

我在JDeveloper中创建了一个基于EJB的项目,并且有一个自动填充数据的表单。用户可以更改他想要的任何数据,最后他应该单击“提交”/“回滚”按钮,数据库中的数据应该更改。我的要求是在包中创建一个函数,如果更改成功,它将返回fault/ok。我创建了一个过程,但函数更适合此操作。这是我的程序

  PROCEDURE edit(
      p_i_id   NUMBER,
      p_i_name    VARCHAR2);



  PROCEDURE EDIT(
      p_i_id   NUMBER,
      p_i_name    VARCHAR2)
  IS
  BEGIN
    UPDATE Table_name
    SET NAME    = p_i_name
    WHERE COLUMN_ID = p_i_id;
  END EDIT;
对这个功能有什么想法吗?谢谢大家!

希望这有帮助

CREATE OR REPLACE FUNCTION edit(
    p_i_id   NUMBER,
    p_i_name VARCHAR2)
  RETURN VARCHAR2
AS
BEGIN
  UPDATE EMP SET ENAME = p_i_name WHERE EMPNO = p_i_id;
  IF SQL%ROWCOUNT <> 0 THEN
    RETURN 'OK';
  ELSE
    RETURN 'FAULT';
  END IF;
END;
创建或替换函数编辑(
p_i_id编号,
p_i_name VARCHAR2)
返回VARCHAR2
作为
开始
更新EMP SET ENAME=p_i_name,其中EMPNO=p_i_id;
如果SQL%ROWCOUNT为0,则
返回“OK”;
其他的
返回“错误”;
如果结束;
结束;

您可以从存储过程中获取结果。只需使用OUT参数。函数用于结果。