Pro*C中嵌入PlSql塊小例

來源:互聯網
上載者:User

環境:

WinXPSP2 + VC6 + ORACLE10g

步驟:

1)建立demo.pc,內容如下:

#include <stdio.h><br />#include <string.h></p><p>typedef char asciz;<br />EXEC SQL BEGIN DECLARE SECTION;<br />EXEC SQL TYPE asciz IS STRING(20);<br />asciz username[20];<br />asciz password[20];<br />int dept_number;<br />char dept_name[50];<br />char location[50];<br />EXEC SQL END DECLARE SECTION;</p><p>EXEC SQL INCLUDE sqlca;</p><p>main()<br />{<br />strcpy(username,"SCOTT");<br />strcpy(password,"x");<br />EXEC SQL WHENEVER SQLERROR GOTO sql_error;<br />EXEC SQL CONNECT :username IDENTIFIED BY :password;<br />printf("/n Connect to ORACLE");</p><p>while(1)<br />{<br />printf("/n Enter department Number(0 to end)?");<br />scanf("%d",&dept_number);<br />if(dept_number==0)<br />{<br />EXEC SQL COMMIT WORK RELEASE;<br />printf("/n Exiting program");<br />exit(0);<br />}<br />//---------------PLSQL塊開始---------------<br />EXEC SQL EXECUTE<br />BEGIN<br />SELECTDNAME,LOC<br />INTO:dept_name,:location<br />FROMDEPT<br />WHEREDEPTNO=:dept_number;<br />// NULL; --IS OK<br />END;<br />END-EXEC;<br />//---------------PLSQL塊結束---------------<br />printf("/n Dept No./t Dept Name/t Location");<br />printf("/n ------------------------------------");<br />printf("/n %d/t%s/t%s",dept_number,dept_name,location);<br />}<br />sql_error:<br />EXEC SQL WHENEVER SQLERROR CONTINUE;<br />EXEC SQL ROLLBACK WORK RELEASE;<br />printf("/n processing error!");<br />printf("/n Exiting program!");<br />exit(1);<br />}<br />

2)將demo.pc先行編譯為demo.c:

proc demo.pc SQLCHECK=SEMANTICS userid="scott/x@orcl"  

3)將demo.c編譯為demo.obj:

cl demo.c /nologo /c /I E:/oracle/product/10.2.0/db_1/precomp/public

4)將demo.obj連結為demo.exe:

link demo.obj /nologo /LIBPATH:E:/oracle/product/10.2.0/db_1/precomp/LIB orasql10.lib

5)運行demo.exe進行測試。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.