VBA 매크로 호출 Oracle PL / SQL Procedure

1. 테스트 Procedure 를 정의 합 니 다. 이 Procedure 는 임시 표 에 기록 을 삽입 하 는 데 사 용 됩 니 다.
create  sequence pt_debug_sequence
INCREMENT BY 1 --      
START WITH 1 --  1    
NOMAXVALUE --       
NOCYCLE --     ,   
CACHE 10;

--1. Create temp table.
create  table pt_debug_tab (seq INTEGER,text Varchar2(300),datetag Varchar2(30));

--2. Create procedure.
create or replace
procedure pt_debug(inStr Varchar2) as
PRAGMA AUTONOMOUS_TRANSACTION; 
BEGIN 
INSERT INTO pt_debug_tab VALUES(pt_debug_sequence.NEXTVAL,inStr,to_char(sysdate,'hh:mi:ss')); 
COMMIT; 
END;

2. VBA 의 코드, 참조: VBA - Hello World 스타일, Sheet 에 테스트 단 추 를 삽입 한 다음 단추 이벤트 에 아래 매크로 코드 를 추가 합 니 다.
Private Sub CommandButton1_Click()
 
Dim rs As Object, com As Object, cn As Object

Set cn = CreateObject("ADODB.Connection")
cn.Open ("Provider=MSDAORA.1;Password=password;Persist Security Info=True;User ID=user;Data Source=instance_name")
'Update the connectionstring
'Set com = CreateObject("ADODB.Command")
Set rs = CreateObject("ADODB.Recordset")
Set com = CreateObject("ADODB.Command")
Set com.ActiveConnection = cn
com.CommandText = "BEGIN pt_debug('PTIAN:Sysdate is '||sysdate); END;"
com.CommandType = 1

Set rs = com.Execute

MsgBox ("Done!")
 
End Sub

실행 후 pt 볼 수 있 습 니 다.debug_tab 표 에 새로운 기록 이 삽입 되 었 습 니 다.

좋은 웹페이지 즐겨찾기