Oracle复合数据类型示例

Jun 07, 2016 pm 05:13 PM

--Recode数据类型 declare v_deptinfo scott.dept%rowtype; type dept_record is RECORD( v1 scott.dept.deptno%type, v2 sc

--Recode数据类型

declare

v_deptinfo scott.dept%rowtype;

type dept_record is RECORD(

  v1 scott.dept.deptno%type,

  v2 scott.dept.dname%type,

  v3 scott.dept%rowtype--可以声明ROWTYPE类型

);

v_deptrecord dept_record;

begin

--一下的赋值方式错误:因为V3是ROWTYPE类型,而查询的一行记录有五列,给v3赋值时会发生类型不匹配

select deptno,dname,t.* into v_deptrecord from dept t where deptno=10;

--解决方法:可以对v1,v2赋值后,,再写另外一条语句对v3赋值。

dbms_output.put_line(v_deptrecord.v3.dname||' '||v_deptrecord.v3.deptno);

end;


--索引表1

declare

type my_index_table1 is table of scott.dept.dname%type--可以使任意数据类型,代表此索引表所存储数据的类型。

index by binary_integer;

my1 my_index_table1;

c number(2);

begin

select count(*) into c from dept;

for i in 1..c loop

  select dname into my1(i) from

   (select rownum rn,t.* from dept t) x

     where x.rn=i;

end loop;

--每个集合都有COUNT属性,代表此集合存储的有效元素总个数。

for i in 1..my1.count loop

  dbms_output.put_line(my1(i));

end loop;

end;


--索引表2

declare

type my_index_table1 is table of scott.dept.dname%type

index by varchar2(20);--Oracle 9i以上的版本,索引表的下表可以为3中数据类型(BINARY_INTEGER、PLS_INTEGER、VVARCHAR2(length));

my1 my_index_table1;

begin

select loc into my1('南昌') from dept where deptno=10;

dbms_output.put_line(my1('南昌'));

end;


--嵌套表1

declare

type my_index_table1 is table of scott.dept.dname%type;

my1 my_index_table1:=my_index_table1(null,null,null,null);--初始化可以使用null值

begin

select dname into my1(1) from dept where deptno=10;

select dname into my1(2) from dept where deptno=20;

select dname into my1(3) from dept where deptno=30;

select dname into my1(4) from dept where deptno=40;

--嵌套表删除元素后,下标依然存在,依然可以重新进行赋值.

my1.delete(3);

dbms_output.put_line(my1.count);

select dname into my1(3) from dept where deptno=30;

dbms_output.put_line(my1.count);

for i in 1..my1.count loop

  dbms_output.put_line(my1(i));

end loop;

end;


--嵌套表2

create type phone_type is table of varchar2(20);

create table employee (

   eid number(4),

   ename varchar2(10),

   phone phone_type

) nested table phone store as phone_table;


insert into employee

values(1,'xx',phone_type('0791-111','123454545'));


insert into employee

values(2,'xx',phone_type('0791-111','123454545','saaasf'));

--变长数组

declare

type my_index_table1 is varray(3) of scott.dept.dname%type;

my1 my_index_table1:=my_index_table1('a','b','c');--初始化

begin

select dname into my1(1) from dept where deptno=10;

select dname into my1(3) from dept where deptno=20;

for i in 1..my1.count loop

  dbms_output.put_line(my1(i));

end loop;

end;


--记录表2

declare

--自定义RECORD可以存放自己想要的列,脱离了ROWTYPE的死板,可以灵活的自定义存放哪些列。

type dept_record is RECORD(

  v1 scott.dept.deptno%type,

  v2 scott.dept.dname%type,

  v3 scott.dept.loc%type

);

type my_index_table1 is table of dept_record

index by binary_integer;

my1 my_index_table1;

c number(2);

--查询出dept表中的所有数据并放进自定义的数据类型

begin

-先查询出表中的记录总数,以记录总数作为循环条件对dept表、以rownum作为WHERE条件对dept表进行逐条查询并存贮进自定义数据类型

select count(*) into c from dept;

for i in 1..c loop

  select x.deptno,x.dname,x.loc into my1(i) from

   (select rownum rn,t.* from dept t) x

     where x.rn=i;

end loop;

--循环输出my1类型中的v2字段在DEPT表中代表的数据;

for i in 1..my1.count loop

  dbms_output.put_line(my1(i).v2);

end loop;

end;

更多Oracle相关信息见Oracle 专题页面 ?tid=12

linux

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

数値の最大の素因数を見つける C プログラム 数値の最大の素因数を見つける C プログラム Aug 27, 2023 am 10:09 AM

素因数分解 - 整数理論では、正の整数の素因数は、その整数を正確に割る素数です。これらの数を見つけるプロセスは、整数因数分解、または素因数分解と呼ばれます。例 - 288 の素因数は: 288=2x2x2x2x2

トップ10グローバルデジタル仮想通貨取引プラットフォームランキング(2025権限ランキング) トップ10グローバルデジタル仮想通貨取引プラットフォームランキング(2025権限ランキング) Mar 06, 2025 pm 04:36 PM

2025年、グローバルデジタル仮想通貨取引プラットフォームは、トランザクションのボリューム、セキュリティ、ユーザーエクスペリエンスなどの指標に基づいて、2025年に世界のトップ10のデジタル通貨取引プラットフォームを激しく競争しています。 OKXは、強力な技術的強さとグローバルな運用戦略で最初にランクされており、Binanceは高流動性と低料金に密接に続きます。 Gate.io、Coinbase、Krakenなどのプラットフォームは、それぞれの利点がある最前線にいます。このリストには、Huobi、Kucoin、Bitfinex、Crypto.com、Geminiなどの取引プラットフォームがそれぞれ独自の特徴がありますが、投資は注意する必要があります。プラットフォームを選択するには、セキュリティ、流動性、料金、ユーザーエクスペリエンス、通貨選択、規制コンプライアンスなどの要因を考慮し、合理的に投資する必要があります

トップ10のデジタル通貨取引プラットフォームトップ10のデジタル通貨取引プラットフォームの最新リスト トップ10のデジタル通貨取引プラットフォームトップ10のデジタル通貨取引プラットフォームの最新リスト Mar 17, 2025 pm 05:57 PM

トップ10のデジタル通貨取引プラットフォーム:1。OKX、2。BINANCE、3。GATE.IO、4。HuobiGlobal、5。Kraken、6。Coinbase、7。Kucoin、8。Bitfinex、9。Crypto.com、10。Gemini、これらの交換は、ユーザーがユーザーを選択できます。

2025年の通貨サークルのトップ10の交換 2025年の通貨サークルのトップ10の交換 Feb 27, 2025 pm 06:33 PM

トップ10の仮想通貨取引プラットフォームのランキング(2025年の最新): Binance:グローバルリーダー、高い流動性、規制が注目を集めています。 OKX:大規模なユーザーベース、複数の通貨をサポートし、レバレッジされた取引を提供します。 gate.io:さまざまなフィアット通貨支払い方法を備えた上級交換は、さまざまな取引ペアと投資商品を提供します。 Bitget:デリバティブ交換、高流動性、低料金。 Huobi:さまざまな通貨と取引ペアをサポートする古い交換。 コインベース:厳密に規制されている有名なアメリカの交換。 フェメックスなど。

デジタル通貨アプリ用のトップ10の取引プラットフォーム、通常の通貨投機プラットフォームアプリの推奨 デジタル通貨アプリ用のトップ10の取引プラットフォーム、通常の通貨投機プラットフォームアプリの推奨 Mar 07, 2025 pm 06:51 PM

この記事では、10個のデジタル通貨トレーディング。プラットフォームを選択する際には、セキュリティ、流動性、取引料、通貨選択、ユーザーインターフェイス、カスタマーサービスサポート、規制コンプライアンスなどの要因を考慮し、リスクを慎重に評価し、盲目的にトレンドに従うことはありません。

信頼できるデジタル通貨プラットフォームは何ですか? 信頼できるデジタル通貨プラットフォームは何ですか? Mar 17, 2025 pm 05:45 PM

信頼できるデジタル通貨プラットフォームには、1。OKX、2。GATE.IO、4。HuobiGlobal、6。Coinbase、7。Bitfinex、9。Crypto.com、10。Geminiが顧客を選択することができます。

世界のトップ10仮想通貨取引プラットフォームアプリ本物のダウンロードとインストールチュートリアル 世界のトップ10仮想通貨取引プラットフォームアプリ本物のダウンロードとインストールチュートリアル Mar 12, 2025 pm 05:33 PM

この記事では、Binance、Okx、Gate.io、Huobi Global、Coinbase、Kucoin、Kraken、Bitfinexなどの主流のデジタル通貨取引プラットフォーム向けのAndroidおよびAppleモバイルアプリのダウンロード方法を提供しています。 AndroidユーザーであろうとAppleユーザーであろうと、対応するプラットフォームの公式アプリのダウンロードリンクを簡単に見つけて、手順に従ってインストールを完了することができます。 この記事では、それぞれの公式Webサイトまたはアプリストアでの検索とダウンロードに関する詳細なガイダンスを提供し、AndroidにAPKファイルをインストールするための特別な手順に関する指示を提供して、ユーザーが迅速かつ簡単にダウンロードして使用できるようにします。

トップ10推奨されるトップ10デジタル通貨取引アプリのランキング トップ10推奨されるトップ10デジタル通貨取引アプリのランキング Feb 17, 2025 pm 03:18 PM

デジタル通貨市場が急増するため、この記事には、投資家が信頼できる使いやすいプラットフォームを選択できるように、上位10のデジタル通貨取引アプリをリストします。ランキングリストには、Binance、Coinbase、Gemini、Kraken、FTX、Huobi、Okx、Bitfinex、Crypto.com、およびgate.ioが含まれます。これらのアプリは、幅広い取引ペア、安全で信頼性の高いプラットフォーム、低い取引手数料、高流動性を提供します。投資家は、セキュリティ、ユーザーフレンドリー、取引手数料、流動性、サポート通貨、顧客サービスなどの要因に基づいて、ニーズを最大限に満たすアプリを選択する必要があります。

See all articles