Oracle存儲過程插入記錄

CREATE OR REPLACE PROCEDURE test_name(arg1 VARCHAR) AS
BEGIN
  insert into testtable (tname) values (arg1);
  dbms_output.put_line('work!');
END test_name;
declare arg1 varchar(40);
begin
arg1 := '1'; test_name(arg1);
END;

 

定義

CREATE OR REPLACE PROCEDURE insert_oneto_testtable(cname      VARCHAR,
                                                   cdate      VARCHAR,
                                                   cdouble    BINARY_DOUBLE,
                                                   cnumber    NUMBER,
                                                   cblob      VARCHAR,
                                                   cclob      VARCHAR,
                                                   ctimestamp VARCHAR) AS
BEGIN
  insert into testtable
    (tname, tdate, tdouble, tnumber, tblob, tclob, ttimestamp)
  values
    (cname,
     to_date(cdate, 'yyyy-MM-dd HH24:mi:ss'),
     cdouble,
     cnumber,
     rawtohex(cblob),
     to_clob(cclob),
     to_timestamp(to_date(ctimestamp,'yyyy-mm-dd hh24:mi:ss')));
END insert_oneto_testtable;

調用

declare
  tname      varchar(40);
  tdate      varchar(40);
  tdouble    BINARY_DOUBLE;
  tnumber    NUMBER;
  tblob      varchar(40);
  tclob      varchar(40);
  ttimestamp varchar(40);
begin
  tname      := 'tuuuu';
  tdate      := sysdate;
  tdouble    := 3.3;
  tnumber    := 3;
  tblob      := 'gggggggggggg嘟嘟嘟';
  tclob      := 'fdsfscclob';
  ttimestamp := '2019-02-25 23:07:33';
  insert_oneto_testtable(tname,
                         tdate,
                         tdouble,
                         tnumber,
                         tblob,
                         tclob,
                         ttimestamp);
END;

刪除

drop procedure insert_oneto_testtable

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章