最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python讀取oracle函數(shù)返回值

 更新時(shí)間:2016年07月18日 09:13:19   作者:ryan1985  
這篇文章主要介紹了python讀取oracle函數(shù)返回值的相關(guān)資料,感興趣的小伙伴們可以參考一下

在oracle中創(chuàng)建一個(gè)函數(shù),本來(lái)是想返回一個(gè)index table的,沒有成功。想到文本也可以傳輸信息,就突然來(lái)了靈感,把返回值設(shè)置文本格式。
考慮到返回?cái)?shù)據(jù)量可能會(huì)很大,varchar2類型長(zhǎng)度吃緊,于是將返回值類型設(shè)置為clob。 
我是用scott用戶的測(cè)試表emp,這個(gè)是函數(shù)定義情況:

create or replace function test_query_func(dept varchar2)
return clob
is
 type test_record is record
 (rec_empno emp.empno%type,
 rec_ename emp.ename%type,
 rec_job  emp.job%type,
 rec_sal  emp.sal%type);
 type test_query_arr is table of test_record index by binary_integer;
 cursor cur is select empno, ename, job, sal from emp where deptno = dept;
 test_query test_query_arr;
 i integer := 0;
 ss varchar2(200) := '';
 res clob := '[';
begin
 for c in cur loop
  i := i + 1;
  test_query(i) := c;
 end loop;
 for q in 1..test_query.count loop
  ss := '(''' || test_query(q).rec_empno || ''', ''' || test_query(q).rec_ename || ''', ''' || test_query(q).rec_job || ''', ''' || test_query(q).rec_sal || ''')';
 if q < test_query.count then
 ss := ss || ',';
 end if;
 res := res || ss;
 end loop;
 res := res || ']';
 return res;
end;

可以在pl/sql developer測(cè)試這個(gè)函數(shù)的返回值:

 begin
 dbms_output.put_line(test_query_func('30'));
 end; 

輸出結(jié)果:
[('7499', 'ALLEN', 'SALESMAN', '1600'),('7521', 'WARD', 'SALESMAN', '1250'),('7654', 'MARTIN', 'SALESMAN', '1250'),('7698', 'BLAKE', 'MANAGER', '2850'),('7844', 'TURNER', 'SALESMAN', '1500'),('7900', 'JAMES', 'CLERK', '950')]
 其實(shí)已經(jīng)定義成一個(gè)python中列表中包含元組子元素的樣式。 
下面是python中的代碼,用python連接oracle需要cx_Oracle庫(kù):

import cx_Oracle as ora;
con = ora.connect('scott/scott@oradb');
cur = con.cursor();
cur.execute('select test_query_func(30) from dual');
res = cur.fetchall()[0][0].read();
cur.close();
con.close();
data = eval(res);
import pandas as pd;
df = pd.DataFrame(data, columns = ['empno', 'ename', 'job', 'sal']);
print(df)

這樣oracle中函數(shù)返回的長(zhǎng)字符串值就轉(zhuǎn)化為DataFrame對(duì)象了:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python paramiko使用方法代碼匯總

    Python paramiko使用方法代碼匯總

    這篇文章主要介紹了Python paramiko使用方法代碼匯總,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 在pycharm中創(chuàng)建django項(xiàng)目的示例代碼

    在pycharm中創(chuàng)建django項(xiàng)目的示例代碼

    這篇文章主要介紹了在pycharm中創(chuàng)建django項(xiàng)目的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Python異步通信模塊asyncore解讀

    Python異步通信模塊asyncore解讀

    這篇文章主要介紹了Python異步通信模塊asyncore的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 對(duì)python自動(dòng)生成接口測(cè)試的示例講解

    對(duì)python自動(dòng)生成接口測(cè)試的示例講解

    今天小編就為大家分享一篇對(duì)python自動(dòng)生成接口測(cè)試的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-11-11
  • python版本五子棋的實(shí)現(xiàn)代碼

    python版本五子棋的實(shí)現(xiàn)代碼

    五子棋是常見的一款小游戲,五子棋問題是人工智能中的一個(gè)經(jīng)典問題。這篇文章主要介紹了python版本五子棋的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-12-12
  • Python如何向SQLServer存儲(chǔ)二進(jìn)制圖片

    Python如何向SQLServer存儲(chǔ)二進(jìn)制圖片

    這篇文章主要介紹了Python如何向SQLServer存儲(chǔ)二進(jìn)制圖片,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 棧和隊(duì)列數(shù)據(jù)結(jié)構(gòu)的基本概念及其相關(guān)的Python實(shí)現(xiàn)

    棧和隊(duì)列數(shù)據(jù)結(jié)構(gòu)的基本概念及其相關(guān)的Python實(shí)現(xiàn)

    這篇文章主要介紹了棧和隊(duì)列數(shù)據(jù)結(jié)構(gòu)的基本概念及其相關(guān)的Python實(shí)現(xiàn),先進(jìn)先出和后進(jìn)先出的知識(shí)也已經(jīng)成為了計(jì)算機(jī)學(xué)習(xí)中的老生常談了:D需要的朋友可以參考下
    2015-08-08
  • 自定義PyCharm快捷鍵的設(shè)置方式

    自定義PyCharm快捷鍵的設(shè)置方式

    這篇文章主要介紹了自定義PyCharm快捷鍵的設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python解壓可迭代對(duì)象賦值給多個(gè)變量詳解

    Python解壓可迭代對(duì)象賦值給多個(gè)變量詳解

    這篇文章主要為大家介紹了Python賦值多個(gè)變量,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • python結(jié)束程序運(yùn)行的四種方法

    python結(jié)束程序運(yùn)行的四種方法

    大家好,小編為大家解答python結(jié)束程序的代碼用什么符號(hào)的問題,很多人還不知道python如何結(jié)束程序運(yùn)行,文中通過代碼示例和圖文結(jié)合的方式介紹的非常詳細(xì),現(xiàn)在讓我們一起來(lái)看看吧
    2024-07-07

最新評(píng)論

涿鹿县| 周至县| 五河县| 达州市| 东乡| 金坛市| 余干县| 永福县| 神农架林区| 天台县| 湖北省| 通城县| 正镶白旗| 抚宁县| 林芝县| 崇左市| 磐安县| 通渭县| 广饶县| 辉南县| 中江县| 昌图县| 门源| 南部县| 肇源县| 麟游县| 溧阳市| 昭通市| 广宗县| 大悟县| 民丰县| 喀喇沁旗| 双桥区| 巨鹿县| 肥城市| 九寨沟县| 福安市| 河池市| 黑水县| 高台县| 稷山县|