【发布时间】:2014-10-19 09:54:09
【问题描述】:
我是 Oracle SQL Developer 的新手。我正在尝试写一个SP来插入值,插入记录后sp返回对应的talbe的列= IN_ID(它是主键)值。我的SP 使用以下查询
表格:
CREATE TABLE SMS_IN
(
IN_ID NUMBER(20) NOT NULL,
MOBILE_NO VARCHAR2(20 BYTE) NOT NULL,
SMS_BODY VARCHAR2(200 BYTE) NOT NULL,
STATUS NUMBER(1) NOT NULL,
USERS VARCHAR2(20 BYTE) NOT NULL,
REMARKS VARCHAR2(200 BYTE),
IN_TIME DATE NOT NULL
)
SP:
CREATE OR REPLACE PROCEDURE TST_SMS_IN
(
--P_MSISDN NUMBER,
P_MOBILE_NO varchar2,
P_SMS_BODY VARCHAR2
)
IS
V_SYSTEM_DATE DATE;
V_YEAR NUMBER;
V_YEAR_SYSTEM NUMBER;
V_TABLE_NAME VARCHAR2(100) :='';
V_SQL VARCHAR2(1000) :='';
V_ERROR_MESSAGE VARCHAR2(1000) :='';
P_AVG NUMBER;
V_CREATED_BY NUMBER;
BEGIN
INSERT INTO SMS_IN(IN_ID,MOBILE_NO,SMS_BODY,STATUS,USERS,REMARKS,IN_TIME) VALUES
(SMS_IN_SEQ.NEXTVAL,P_MOBILE_NO,P_SMS_BODY,0,'gp','TEST',sysdate);
COMMIT;
END TST_SMS_IN;
插入后帮我返回新插入的记录列= IN_ID 值。
如有任何疑问,请询问。在此致谢。
【问题讨论】:
-
这是一个类似的问题,答案是:stackoverflow.com/questions/1004128/…
标签: oracle plsql oracle10g oracle-sqldeveloper