创建 Oracle 分页存储过程
1.创建Oracle包的定义。使用 REF CURSOR 数据类型来处理 Oracle 结果集。REF CURSOR 是一个指向 PL/SQL 查询所返回的结果集的指针。与普通的游标不同,REF CURSOR 是一个变量,它是对游标的引用
1.创建Oracle包的定义。使用 REF CURSOR 数据类型来处理 Oracle 结果集。REF CURSOR 是一个指向 PL/SQL 查询所返回的结果集的指针。与普通的游标不同,REF CURSOR 是一个变量,它是对游标的引用1.创建Oracle包的定义。使用 REF CURSOR 数据类型来处理 Oracle 结果集。REF CURSOR 是一个指向 PL/SQL 查询所返回的结果集的指针。与普通的游标不同,REF CURSOR 是一个变量,它是对游标的引用,可以在执行时将其设置为指向不同的结果集。使用 REF CURSOR 输出参数可以将 Oracle 结构化程序的结果集传递回调用应用程序。通过在调用应用程序中定义 OracleType.Cursor 数据类型的输出参数,可以访问 REF CURSOR 所指向的结果集。
<span><blockquote> <pre class="brush:php;toolbar:false"><span>create or replace package MF_PAK_001 is<br> type t_cursor is ref cursor;<br> procedure GetDataByPage(<br> p_tableName varchar2,<br> p_fields varchar2,<br> p_filter varchar2,<br> p_sort varchar2,<br> p_curPage number,<br> p_pageSize number,<br> p_cursor out t_cursor,<br> p_totalRecords out number <br> );<br>end MF_PAK_001;</span>
<span><blockquote><span>create or replace package body MF_PAK_001 is<br>procedure GetDataByPage(<br>p_tableName varchar2,--要查询的表名<br>p_fields varchar2,--要查询的字段<br>p_filter varchar2,--过滤条件<br>p_sort varchar2,--排序字段及方向<br>p_curPage number,<br>p_pageSize number,<br>p_cursor out t_cursor,<br>p_totalRecords out number <br>)<br>is<br>v_sql varchar2(1000):='';<br>v_startRecord number(4);<br>v_endRecord number(4);<br>begin<br></span></blockquote>--获取总的记录数<br> <blockquote><span>v_sql:=' to_number(count(*)) from '||p_tableName;<br>if p_filter is not null then<br>v_sql:=v_sql||' where 1=1 and '||p_filter;<br>end if;<br>execute immediate v_sql into p_totalRecords;<br><br>v_startRecord:=(p_curPage-1)*p_pageSize;<br>v_endRecord:=p_curPage*p_pageSize;<br><br>v_sql:='select '||p_fields||' from (select '||p_fields||',rownum r from '||<br>'(select '||p_fields||' from '||p_tableName;<br>if p_filter is not null then<br>v_sql:=v_sql||' where 1=1 and '||p_filter;<br>end if;<br>if p_sort is not null then<br>v_sql:=v_sql||' order by '||p_sort;<br>end if;<br>v_sql:=v_sql||') A where rownum='||to_char(v_startRecord);<br>open p_cursor for v_sql;<br><br>end GetDataByPage; <br>end MF_PAK_001;</span></blockquote></span>3.在Oracle中编写查询语句,执行包体中的分页存储过程,看是否能够正确执行。
<span><blockquote> <p></p> <pre class="brush:php;toolbar:false"><span>declare<br>v_cur MF_PAK_001.t_cursor;<br>v_job jobs%rowtype;<br>v_totalRecords number;<br>begin<br> MF_PAK_001.GetDataByPage('jobs','job_id,job_title,min_salary,max_salary','min_salary>0','job_id asc',</span>
<span> 1,10,v_cur,v_totalRecords);<br> fetch v_cur into v_job;<br> while v_cur%found loop<br> dbms_output.put_line(v_job.job_id||','||v_job.job_title);<br> fetch v_cur into v_job;<br> end loop;<br> dbms_output.put_line('总记录数为:'||v_totalRecords);<br>end;</span>
<span><blockquote> <pre class="brush:php;toolbar:false"><span>string connString = "Data Source=ORCL;User Id=hr;Password=Pwd123456";<br>OracleConnection conn = new OracleConnection(connString);<br><br>OracleCommand cmd = new OracleCommand();<br>cmd.Connection = conn;<br>cmd.CommandText = "MF_PAK_001.GetDataByPage";<br>cmd.CommandType = CommandType.StoredProcedure;<br><br>cmd.Parameters.Add("p_tableName", OracleType.VarChar).Value = "jobs";<br>cmd.Parameters.Add("p_fields", OracleType.VarChar).Value = "job_id,job_title,min_salary,max_salary";<br>cmd.Parameters.Add("p_filter", OracleType.VarChar).Value = "";<br>cmd.Parameters.Add("p_sort", OracleType.VarChar).Value = "job_id asc";<br>cmd.Parameters.Add("p_curPage", OracleType.Number).Value = 1;<br>cmd.Parameters.Add("p_pageSize", OracleType.Number).Value = 10;<br>cmd.Parameters.Add("p_cursor", OracleType.Cursor).Direction =ParameterDirection.Output;<br>cmd.Parameters.Add("p_totalRecords", OracleType.Number).Direction = ParameterDirection.Output;<br><br>conn.Open();<br>OracleDataReader dr = cmd.ExecuteReader();<br><br>while (dr.Read())<br>{<br> for (int i = 0; i Response.Write(dr[i].ToString() + ";");<br> Response.Write("<br>");<br>}<br>conn.Close();</span>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Semasa penggunaan MySQL, tarikh biasanya disimpan dalam format tarikh, cap waktu dan lain-lain, kadang-kadang disebabkan keperluan khas atau sebab sejarah, tarikh disimpan dalam format varchar. Gunakan fungsi: STR_TO_DATE(str,format) Fungsi STR_TO_DATE(str,format) ialah fungsi songsang bagi fungsi DATE_FORMAT(). Ia memerlukan rentetan str dan format rentetan format. STR_TO_DATE() mengembalikan nilai DATETIME jika rentetan format mengandungi komponen tarikh dan masa, atau jika perkataan

Perbezaan antara char dan varchar dalam mysql ialah: 1. CHAR ialah panjang tetap, manakala VARCHAR adalah panjang berubah-ubah 2. CHAR storan dan kecekapan pengambilan adalah tinggi, manakala VARCHAR kecekapan penyimpanan dan pengambilan tidak tinggi; , VARCHAR boleh menjimatkan ruang storan.

Analisis atribut gaya tambahan CSS: kursor dan acara penunjuk Dalam pembangunan tapak web, kami sering menghadapi beberapa keperluan khas, yang perlu dicapai melalui beberapa atribut gaya tambahan. Kursor dan acara penunjuk ialah dua atribut gaya yang biasa digunakan yang memberikan maklum balas dan kawalan yang lebih baik apabila pengguna berinteraksi dengan halaman. Artikel ini akan menganalisis kedua-dua sifat ini secara terperinci dan memberikan contoh kod khusus. 1. Atribut kursor Atribut kursor digunakan untuk menentukan tetikus

Pertama sekali, tidak disyorkan untuk menggunakan jenis TEXT, kerana menggunakan TEXT akan menjejaskan kecekapan secara serius Cara terbaik adalah dengan menggunakan VARCHAR dan menentukan panjang maksimum medan. Mula-mula kita boleh mentakrifkan nilai_aturan medan dalam jadual dan menetapkan panjang kepada 255, kemudian masukkan rentetan json terkecil: gunakan fungsi CHAR_LENGTH MySQL untuk mengira saiz rule_value: SELECTid, rule_type, rule_value, CHAR_LENGTH(rule_value) sebagai rule_value_length, rule_markFROMtest_table

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没问题。

Artikel ini akan menerangkan secara terperinci bagaimana PHP menetapkan penunjuk dalam set hasil kepada offset medan yang ditentukan Editor berpendapat ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh mempunyai sedikit pengetahuan selepas membaca artikel ini dituai. PHP menetapkan penunjuk dalam set hasil kepada offset medan yang ditentukan Pengenalan Semasa memproses set hasil pangkalan data, anda mungkin perlu mengalihkan penunjuk ke lokasi medan tertentu untuk mengakses data dalam medan tersebut. PHP menyediakan beberapa cara untuk mencapai ini. Kaedah 1: mysqli_fetch_field() Fungsi Mysqli_fetch_field() mengembalikan objek yang mengandungi maklumat tentang medan yang ditentukan, termasuk ofsetnya. Kita boleh menggunakan maklumat ini untuk mencari penunjuk. $resul
