投稿

ラベル(シーケンス)が付いた投稿を表示しています

2月26日(金)2コマ目

イメージ
今日の確認テスト シーケンスの確認テストをしました。解答例をあげておきます。 図 解答例 1ページ目   図 解答例 2ページ目 図 解答例 3ページ目 図 解答例 4ページ目 図 解答例 5ページ目 図 解答例 6ページ目 図 解答例 7ページ目

2月5日(金)2コマ目

今日、やったこと シーケンス確認演習 シーケンスの確認演習の解答例 テーブル作成 ジャンルマスタ create table ジャンルマスタ( ID number(2), ジャンル名 nvarchar2(64) not null, constraint pk_ジャンル primary key(ID) ); 商品マスタ create table 商品マスタ( ID number(3), 商品名 nvarchar2(64) not null, ジャンルID number(2), 定価 number(5), constraint pk_商品 primary key(ID), constraint fk_商品_ジャンル foreign key(ジャンルID) references ジャンルマスタ(ID), constraint chk_商品定価 check(定価>=0) ); 顧客マスタ create table 顧客マスタ( ID number(4), 氏名 nvarchar2(64) not null, constraint pk_顧客 primary key(ID) ); 売上データ create table 売上データ( ID number(5), 顧客ID number(4), 売上日 date, constraint pk_売上データ primary key(ID), constraint fk_売上_顧客 foreign key(顧客ID) references 顧客マスタ(ID) ); 売上詳細データ create table 売上詳細データ( 売上ID number(5), 商品ID number(3), 数量 number(4), constraint pk_売上詳細データ primary key(売上ID, 商品ID), constraint fk_売上詳細_ID foreign key(売上ID) references 売上データ(ID), constraint fk_売上詳細_商品 foreign key(商品ID) references 商品マスタ(ID), constraint chk_売上数量 check(数量 >= 0) ); シーケンス作成 SEQ_グループID create sequ...

1月29日(金)2コマ目

イメージ
今日、やったこと シーケンス 今日のホワイトボード シーケンスとは ID列のように重複してはいけない列の値を生成する仕組み。 図 シーケンス シーケンスから採番する シーケンス名.nextval で採番できる。 直近に採番した値は シーケンス名.currval で取得できる。 シーケンスを作る 図 シーケンスを作る SQLは以下の構文。 create sequence シーケンス名 start with 初期値 increment by 増分 maxvalue 最大値 minvalue 最小値 cycle または nocylce cache または nocache ; 各オプションは以下のとおり。 〇start with 初期値 一番最初に採番される値。 〇increment by 増分 採番するたびに増える値。 負の値にすると、デクリメントするシーケンスになる。 たとえば、start with 1 increment by -1にすると、 1 => 0 => -1 => -2 と採番される。 〇maxvalue 最大値 採番される最大値。最大値は初期値以上、かつ最小値を超える値。 未指定時は最大値は昇順の場合、10の28乗-1、降順の場合は-1。 〇minvalue 最小値 採番される最小値。最小値は初期値以下、かつ最大値未満の値。 未指定時は最大値は昇順の場合、1、降順の場合は-(10の27乗 - 1)。 〇cycle 採番値が最小値と最大値で循環する。 シーケンス採番値が昇順の場合、最大値に達すると次は最小値が採番される。 降順の場合は、最小値に達すると、次は最大値が採番される。 〇nocycle デフォルトはこちら。 循環しない。 〇cache 高速に採番するためにあらかじめメモリ上に採番しておく数を指定。 〇nocache メモリ上に事前採番をしない。デフォルトはこちら。 作成済みシーケンスの変更 変更できるのは、増分(increment by)、最大値(maxvalue)、最小値(minvalue)、キャッシュ(cache)。 SQLは以下のとおり。 alter sequence シーケンス名  変更対象項目名 設定値 ; 作成済みシーケンスの削除 SQLは以下のとおり。 drop sequence シーケンス名;