【发布时间】:2016-12-01 22:12:34
【问题描述】:
我没用过oracle(只有t-sql)
我需要创建一个必须有记录的包,并在两个存储过程中使用该记录
/*我没用过包 我不知道如何调用(调用或执行包) 我需要在第三个系统中调用它来更新或插入一个人) */
CREATE OR REPLACE PACKAGE PKG_CRM_INSERTUPDATE_PERSONAS IS
/*
this must to create a stored procedure for insert and update a table
*/
declare
TYPE typePersona IS RECORD (
varNombre: VARCHAR2(200);
varApellidoPaterno : VARCHAR2(200);
varApellidoMaterno : VARCHAR2(200);
varRFC : VARCHAR2(200);
varIfe : VARCHAR2(200);
varFechaNacimiento : DATE;
varNumeroHijos : NUMBER;
varIdSituacion : NUMBER;
varIdActividad : NUMBER;
varIdPais : NUMBER;
varIdGenero : VARCHAR2(200);
varIdEstadoCivil : NUMBER;
varIdLocalidad : NUMBER;
varIdPersona : NUMBER;
varCURP : VARCHAR2(200);
varIdTipoPersona : VARCHAR2(200);
varCalle : VARCHAR2(200);
varNumeroExterior : VARCHAR2(200);
varNumeroPiso : VARCHAR2(200);
varNumeroDepartamento : VARCHAR2(200);
)
END;
【问题讨论】:
-
如果您说您从未使用过 PL/SQL,是什么让您认为您需要定义记录来修改表?你的最终目标是什么?
-
我需要在包内创建一条记录并使用该记录插入/更新人员表
-
目标是“为插入/更新包创建一个包”
-
您可以使用 MERGE 语句执行此操作(插入或更新)。
-
你真的找不到任何用于 PL/SQL 的 documentation 或 examples 吗?看起来您刚刚在 Oracle 中尝试了一些 T-SQL,并在第一次不起作用时来到这里。
标签: oracle stored-procedures plsql