ホームページ データベース mysql チュートリアル oracle中使用触发器实现查询分页功能

oracle中使用触发器实现查询分页功能

Jun 07, 2016 pm 04:21 PM
oracle 使用 ページネーション 関数 成し遂げる お問い合わせ 引き金

oracle包分为包规范和包体 一:首先创建包规范 create or replace package p_pagewithgroup is -- Author : 肖伟 -- Created : 2014/3/18 -- Purpose : 分组分页过程 TYPE type_cur IS REF CURSOR; --定义游标变量用于返回记录集 PROCEDURE UP_GetRecordWith

   oracle包分为包规范和包体

  一:首先创建包规范

  create or replace package p_pagewithgroup is

  -- Author : 肖伟

  -- Created : 2014/3/18

  -- Purpose : 分组分页过程

  TYPE type_cur IS REF CURSOR; --定义游标变量用于返回记录集

  PROCEDURE UP_GetRecordWithGroupByPage(

  tblName in varchar2, --表名

  PageSize in number, --页面大小

  PageIndex in number, --当前页

  IsReCount out number,--返回总条数

  strWhere in varchar2,-- 查询条件 (注意: 不要加 where)

  strColums in varchar2, --字段集合,逗号分割

  strSelectColums in varchar2, --字段集合,逗号分割

  strGroup in varchar2,--分组条件语句

  strOrder in varchar2,-- 排序条件语句

  v_cur out type_cur --返回当前页数据记录

  );

  end p_pagewithgroup;

  二:创建包结构体

  create or replace package body p_pagewithgroup is

  PROCEDURE UP_GetRecordWithGroupByPage(

  tblName in varchar2, --表名

  PageSize in number, --页面大小

  PageIndex in number, --当前页

  IsReCount out number,--返回总条数

  strWhere in varchar2,-- 查询条件 (注意: 不要加 where)

  strColums in varchar2, --字段集合,逗号分割

  strSelectColums in varchar2, --字段集合,逗号分割

  strGroup in varchar2,--分组条件语句

  strOrder in varchar2,-- 排序条件语句

  v_cur out type_cur --返回当前页数据记录

  )

  AS

  --定义变量

  v_sql VARCHAR2(8000);

  v_count number;

  v_row_start NUMBER; --开始记录

  v_row_end NUMBER; --结束记录

  begin

  ------------------------------------------------------------显示总条数

  v_sql := 'select count(1) from ' || tblName;

  IF strWhere is not NULL OR strWhere ''

  THEN

  v_sql := v_sql || ' where ' || strWhere;

  END IF;

  IF strGroup is not null or strGroup ''

  then

  v_sql := v_sql || ' group by ' || strGroup;

  end if;

  DBMS_OUTPUT.put_line (v_sql);

  --v_sql:='select count(1) from BS_USER where 1=1';

  EXECUTE IMMEDIATE v_sql into v_count ;

  IsReCount:=v_count;

  ------------------------------------------------------------显示任意页内容

  -- IF PageSize

  -- PageSize:=1;

  -- END IF;

  v_row_start := (PageIndex - 1) * PageSize + 1;

  v_row_end := PageIndex * PageSize;

  v_sql:='select '||strSelectColums||' from (select t.*,RowNum as rn from (select '||strColums||' from '||tblName;

  IF strWhere is not NULL OR strWhere ''

  THEN

  v_sql := v_sql || ' where ' || strWhere;

  END IF;

  IF strGroup is not null or strGroup ''

  then

  v_sql := v_sql || ' group by ' || strGroup;

  end if;

  IF strOrder is not null or strOrder ''

  then

  v_sql := v_sql || ' order by ' || strOrder;

  end if;

  v_sql := v_sql ||') t) where rn between '||v_row_start||' and '||v_row_end;

  DBMS_OUTPUT.put_line (v_sql);

  open v_cur for v_sql;

  End UP_GetRecordWithGroupByPage;

  ----------------------------------------------------------

  end p_pagewithgroup;

  三:测试

  首先打开PL/SQL command window

  SQL>declare

  -- Local variables here

  IsReCount number;--返回总条数

  my_cur p_pagewithgroup.type_cur ; --返回当前页数据记录

  begin

  -- Test statements here

  p_pagewithgroup.UP_GetRecordWithGroupByPage('T_DIVISION',5,1,ISReCount,' 1=1 ',' * ',' * ',null,null,my_cur );

  DBMS_OUTPUT.PUT_LINE(TO_CHAR(IsReCount));

  end;

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

レッドストーン/赤通貨リスト価格予測とトークン経済学の詳細な説明 レッドストーン/赤通貨リスト価格予測とトークン経済学の詳細な説明 Mar 03, 2025 pm 10:42 PM

今回は、Redstone Token $ RedがBinance LaunchPoolでBinance TGEで発売されます!また、Binanceが市場前の取引制限メカニズムを開始したのはこれも初めてです!初日の制限は200%であり、「市場が開くとピークが達成される」を避けるために、3日後に禁止が解除されます! LaunchPoolメカニズムは、指定されたトークン(BNB、USDC、FDUSD、FDUSD)アクティビティ期間を誓約する必要があるRedstoneに参加するBinancelAunchpoolを紹介します。

DebianでOracleセキュリティ設定を行う方法 DebianでOracleセキュリティ設定を行う方法 Apr 02, 2025 am 07:48 AM

Debianシステム上のOracleデータベースのセキュリティを強化するには、開始するには多くの側面が必要です。次の手順は、セキュアな構成のフレームワークを提供します。1。Oracleデータベースのインストールと初期構成システムの準備:Debianシステムが最新バージョンに更新され、ネットワーク構成が正しく、必要なすべてのソフトウェアパッケージがインストールされていることを確認します。インストールのために公式文書または信頼できるサードパーティのリソースを参照することをお勧めします。ユーザーとグループ:専用のOracleユーザーグループ(OINSTALL、DBA、BackUpDBAなど)を作成し、適切なアクセス許可を設定します。 2。セキュリティ制限リソース制限の設定:edit /etc/security/limits.d/30-oracle.conf

バイナンスデュアル通貨財務管理とは何ですか? Binanceのデュアル通貨財務管理を申請する方法は? バイナンスデュアル通貨財務管理とは何ですか? Binanceのデュアル通貨財務管理を申請する方法は? Mar 05, 2025 pm 03:51 PM

Binance Dual Currency Financial Management:詳細な分析と運用ガイドこの記事は、バイナンスの二重投資の運用メカニズム、リスク、利点に関する詳細な議論を行い、詳細な運用手順を提供します。デュアル通貨ウェルスマネジメントは、オプション販売者の戦略と同様に、高リスクの高収量投資戦略であり、初心者は慎重に運用する必要があります。バイナンスデュアル通貨財務管理とは何ですか? Binance Dual Currency Financial Managementは、Binance Exchangeが提供する財務管理製品であり、ユーザーは将来の特定の日付でプリセット価格で暗号通貨を売買して債券を獲得できますが、価格の変動のリスクを負う必要があります。 「デュアル通貨」とは、暗号通貨と安定性を含むトランザクションを指します。現在、Binanceはさまざまな暗号通貨をサポートして、二重通貨財務管理に参加しています。債券を獲得することはできますが、それは保証された投資ではなく、損失や大きな損失の可能性があります。

Powertoysの目的は何ですか? Powertoysの目的は何ですか? Apr 03, 2025 am 12:10 AM

Powertoysは、Windowsユーザーの生産性とシステム制御を強化するために、Microsoftが開始したツールの無料コレクションです。ファンシーゾーン管理ウィンドウレイアウトやパワーネームバッチの名前変更ファイルなどのスタンドアロンモジュールを介して機能を提供し、ユーザーワークフローをスムーズにします。

GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? Apr 02, 2025 pm 03:48 PM

GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? GOで開発するとき、Oracleデータベースに接続することは一般的な要件です...

Oracle PL/SQL Deep Dive:マスタリング手順、機能、パッケージ Oracle PL/SQL Deep Dive:マスタリング手順、機能、パッケージ Apr 03, 2025 am 12:03 AM

OraclePl/SQLの手順、機能、パッケージは、それぞれ操作、返品値、および整理コードを実行するために使用されます。 1.プロセスは、挨拶の出力などの操作を実行するために使用されます。 2。関数は、2つの数値の合計を計算するなど、値を計算して返すために使用されます。 3.パッケージは、関連する要素を整理し、在庫を管理するパッケージなど、コードのモジュール性と保守性を向上させるために使用されます。

Redstone(Red)Airdropsに参加すると、いくつの赤いトークンを入手できますか? Redstone(Red)Airdropsに参加すると、いくつの赤いトークンを入手できますか? Mar 04, 2025 pm 05:48 PM

Redstone(Red)Airdropアクティビティは本格的であり、多くの投資家が参加するようになっています。 Redstoneは、強力なバリデーターネットワーク、リアルタイムデータ統合機能、コミュニティインセンティブメカニズムを備えた高度なクロスチェーンデータのOracleであり、多くの有名な投資機関によってサポートされています。そのユニークな技術的利点は、非常に競争の激しいオラクル市場​​で際立っており、将来の開発の大きな可能性を秘めています。この記事では、レッドストーンプロジェクトの詳細な分析を実施し、エアドロップに参加できるレッドトークンの数を調査し、レッドトークンの価格を見通し、投資家がレッドストーンプロジェクトと投資のリスクをよりよく理解し、評価します。 特にBNB所有者にとって、エアドロップに参加すると、赤いトークンを入手し、デジタル資産グループを豊かにする機会があります

ERPシステムソフトウェアとは何ですか?推奨されるERPシステムソフトウェア ERPシステムソフトウェアとは何ですか?推奨されるERPシステムソフトウェア Apr 03, 2025 pm 12:54 PM

ERPソフトウェアを選択するときは、最初に業界、スケール、予算、ITインフラストラクチャなどの企業のニーズを明確にし、コアビジネスプロセスに従ってニーズを満たすシステムを選択します。一般的なERPシステムには次のものが含まれます。SAPは大規模な企業に適しており、強力な機能を備えていますが、高価な機能を備えています。 Oracleには包括的な機能がありますが、高価で、大企業に適しています。 ODOOは、中小企業に適しており、低コストでカスタマイズ可能です。 SaaS ERPはクラウドに展開され、オンデマンドで支払い、急速に発展している企業に適しています。選択する前に、トライアルを実施し、専門家のアドバイスに相談し、アフターセールスサービスに注意を払い、あなたに最も適したERPシステムを選択する必要があります。

See all articles