fc2ブログ

まったり開発日誌

embossの工具箱(J2EE Java2 Linux Zaurus C++)

2005年10月

  1. 第1章 サーバー構成に関する新機能 完了(10/14)
  2. PL/SQL コーディング規約(10/11)
  3. Oracleの行連鎖を調べる(10/11)
  4. オラクルマスター教科書 Gold Oracle 10g Database 【新機能】編 学習開始です!(10/11)
  5. JBossのインストール(Windows)(10/08)
  6. DOSとPL/SQLコマンドの挙動について(10/07)
  7. 対話型ユーザー アカウントで実行するように Office アプリケーションを構成する方法(10/07)
  8. ASPの開発中にSQL_TRACEをONにする工夫(10/07)
  9. SchTasks(10/07)
  10. SQL*PlusでCSV作成(10/07)
  11. シノニムを使ったビューが実現可能であるか (10/07)
  12. BYPASS_UJVC(Updatable Join View Check)(10/07)
  13. OracleでPFILEとSPFILEのどちらを使っているのか調べる(10/07)
  14. マルチテーブルアップデート(10/07)
  15. クラシックASPでデバッグを行う方法(10/07)
  16. Oracle9iでルータ越えの設定をする(10/07)
  17. PL/SQLで時間を計測する(10/07)
  18. 関数内で使用しているオブジェクトがDROPされた場合のパッケージの挙動(10/07)
  19. DOSバッチでユーザに値を入力させる(10/07)
  20. マイクロドライブが取り出せない!!(10/06)
  21. J2EE実行環境の概要(10/05)
  22. Ajaxの文字化けについて調べた(10/04)
  23. J2EEの位置付け(10/03)
  24. 買ってしまいました(10/02)
  25. J2EEお勉強を開始(10/01)

第1章 サーバー構成に関する新機能 完了

オラクルマスター教科書 Gold Oracle 10g Database 【新機能】編

第1章 サーバー構成に関する新機能

 Oracleソフトウェアのインストール
 DBCAの拡張機能
 Enterprise Managerの使用
 データベース使用状況統計の表示
 ポリシーフレームワーク
 Oracleデータベースのアップグレード

完了です。

第1章は短い章なので暗記ポイントをしっかり覚えておきます。
出題頻度はOracleソフトウェアのインストール以外は高いです。★
スポンサーサイト



  1. 2005/10/14(金) 10:58:52|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

PL/SQL コーディング規約

PL/SQL MYコーディングルール

■フィールド変数のデータ型はかならず%TYPEを使用すべ
フィールドを格納する変数のデータ型には、必ず%TYPEを使用すること。
■FORよりもFORALLを使うべ
FORALLはパフォーマンスが30%程度向上する。FORALLが使用できないか検討してみること。
■空行は作成すな
空行のかわりに--を使用する。SHOW ERRORしたときに空行があるとエラーのあった行数がずれる為。
例)
-----------------------------------------------
vc2_result VARCHAR2 DEFAULT := 'OK';

BEGIN

RETURN vc2_result;

END OUT_FILES;
-----------------------------------------------


-----------------------------------------------
vc2_result VARCHAR2 DEFAULT := 'OK';
--
BEGIN
--
RETURN vc2_result;
--
END OUT_FILES;
-----------------------------------------------

■変数の型によるプリフィックスを付与すべ

vc2_ VARCHAR2 vc2_from_ymd
cur_ CURSOR cur_list_master
rec_ RECORD rec_dept_line
tbl_ TABLE tbl_code_master
bin_ BINARY_INTEGER bin_count
pin_ PLS_INTEGER pin_count
bln_ BOOLEAN bin_off
dat_ DATE dat_from
chr_ CHAR chr_buf
num_ NUMBER num_count

例外
グローバルな変数にはgを使用すべ
例)gvc2_to_ymd
var_ %TYPEの場合は何型になるかわからないのでvar_を使用する。(variable)

■RECORD型定義,TYPE型定義,例外型定義などの定義関係
型の定義はすべて大文字とする。単語と単語は_(アンダースコア)でつなぐ。

■関数の名称
関数の名称の本体部分には、用途を表す完結した名前を大文字と_(アンダースコア)を使用して付けること。
さらに、プロシージャ名は INIT_NAME_ARRAY やCLOSE_FILEPOINTER のように動詞で始める。

■関数の引数
in_またはout_またはinout_をプリフィックスに使用する。
例)
PROCEDURE NIPPOU_CONSULT_OUTPUT(
in_symd IN VARCHAR2,
out_ret OUT VARCHAR2
);

■定数
プリフィックスにCON_を使用し、すべて大文字とする。
CON_NO_DATA CONSTANT VARCHAR2(1) := '3';
CON_ERROR CONSTANT VARCHAR2(1) := '1';
CON_NORMAL_END CONSTANT VARCHAR2(1) := '2';

■例外処理を必ず実装する。
例外処理は、必ず実装する。よくやるのがEXCEPTION WHEN OTHES THEN NULL;とか。そんなコードを書くな。

例)
FUNCTION "CHAMPLE" RETURN VARCHAR2
AS -- 宣言部 --
sqlerr_code NUMBER;
sqlerr_msg VARCHARE2(2046);
--
BEGIN -- 実行部 --
--
----------------
-- 処理を記述 --
----------------
--
--COMMIT; -- トランザクションがある場合
-- 実行部のトランザクションをコミット
RETURN('RETURN from CHAMPLE');
EXCEPTION -- 例外部 --
WHEN OTHERS THEN
-- ROLLBACK; -- トランザクションがある場合
-- 実行部のトランザクションをロールバック
--
sqlerr_code := SQLCODE;
sqlerr_msg := substrb(SQLERRM, 1, 1024);
--
-- 状況の表示処理例
-- DBMS_OUTPUT.PUT_LINE('sql error code = ' || sqlerr_code);
-- DBMS_OUTPUT.PUT_LINE('sql error msg = ' || sqlerr_msg);
--
--
-- 状況の保存処理例
-- INSERT INTO EXCEPTION_LOG VALUES('FNC_YYY', sqlerr_code, sqlerr_msg, SYSDATE);
-- COMMIT;
--
--
-- 呼び出し元に例外処理の内容を返す
-- RAISE;
--
-- ※上記のINSERT文が有っても,その前の例外が伝えられます。
-- ※上記のINSERT文で例外が発生した場合にはINSERT文の例外も上ります。
-- ※sqlerr_msgには2つの例外メッセージが連結されて呼び出し側に伝わります。
-- 必要に応じて「ORA-」で切り出す。
-- ※INSERT文で例外が発生した場合、sqlerr_codeにはINSERT文で発生した例外番号が
-- 格納される。
END;
  1. 2005/10/11(火) 15:42:20|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

Oracleの行連鎖を調べる


SQL> conn ユーザー名/パスワード
接続されました。
SQL> analyze table テーブル名 compute statistics;

表が分析されました。

経過: 00:16:56.05
SQL> spool off

SQL> spool off
SQL> SELECT num_rows,blocks,chain_cnt
2 from dba_tables
3 where owner='ユーザー名'
4 and table_name='テーブル名';

NUM_ROWS BLOCKS CHAIN_CNT
---------- ---------- ----------
3231725 193299 2325071



上記の例であれば、
なんと 72% の行が、行連鎖、行移行している!恐ろしく非効率である。
  1. 2005/10/11(火) 15:26:08|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

オラクルマスター教科書 Gold Oracle 10g Database 【新機能】編 学習開始です!

10/11よりOracleMasterの勉強を開始しま~す。

私の場合、既に旧Platinum9i(現行Gold Oracle9i Database)に合格していますので、アップグレード試験を一科目受けるだけでGOLD 10gへの移行が完了するようです。集合研修を受ける必要もなくて楽々ですね。

Gold Oracle9i Database からの移行試験
1Z0-040J Gold DBA10g 新機能

調べてみるとなんと移行試験のための参考書がでています。
今までは、移行試験の為だけの参考書は見かけたことが無かったので、ほとんど諦めており、自分で資料を集め、地道に試験対策をする他ないとおもっていたのでこれは朗報です。
即SEshopで購入しました。

オラクルマスター教科書 Gold Oracle 10g Database 【新機能】編
定価:¥5,670



本日より一ヶ月の目標で資格試験を取得することにします。
社会人は忙しいですから、短期集中がベストですね。

ポイントとしては、とにかく早起きをすること。仕事は早く切り上げて定時で帰り(これがむずかしいのですが・・)、できれば10時には就寝、起床は4時とします。これで4時30分~か7時までの2時間30分を学習にあてられます。この時間は主に重要事項をノートにまとめることとします。

また私の場合、通勤時間が30分ありますので、この時間も利用します。主に暗記の時間とします。

オラクルマスター教科書シリーズには、「試験直前チェックシート」というA4サイズのシートがあり、表裏にびっしりチェック項目が並んでいるのですが、これがまた良く出来ており試験に良く出るんですね。このシートは最低限暗記です。通勤時間を利用して暗記してます。
今日は第1章を流し読みして完了です★
  1. 2005/10/11(火) 10:38:18|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

JBossのインストール(Windows)

J2EE開発環境のインストール

J2SE SDKのインストール

まずはJavaの実行環境・開発環境を導入します。
サンのウェブサイトよりダウンロードしてインストールしてください。
http://java.sun.com/j2se/1.4/ja/今回は以下のディレクトリに配置したものとして説明します。

Windows
C:\j2sdk1.4.2_09
Linux
/usr/local/java/j2sdk1.4.2_09

Windowsの場合
「j2sdk-1_4_2_09-windows-i586-p.exe」をダウンロードします。

ダウンロードしたファイルを実行します。
J2SE SDKインストール-同意します


インストール先を指定します。今回は変更しません。このまま次へをクリックします。
J2SE SDKインストール-インストール先


次へをクリックします。
J2SE SDKインストール-ブラウザへの設定


インストールが始まります。いくつかの画面が開いたり閉じたりしますがそのまましばらく待ちます。
J2SE SDKインストール-インストール中


インストール完了です。
J2SE SDKインストール-完了


環境変数の設定

J2SE SDKがインストールできたら、環境変数JAVA_HOMEを設定します。
Windowsの場合、環境変数は コントロールパネルの[システム]-[詳細]-[環境変数]から設定します。

[環境変数]
システム環境変数の[新規(w)...]ボタンを押します。
JAVA環境設定-1


変数名 JAVA_HOME 
変数値 C:\j2sdk1.4.2_09
を設定します。
JAVA環境設定-2


OKを押します。

同様の手順で、環境変数PATHにも追加します。
[環境変数]を見ると、PATHはすでに存在するはずなので、変数値の最後に
セミコロン「;」をつけて、JDKのディレクトリを追加します。

変数名 PATH 
変数値 ;%JAVA_HOME%\bin

JBossのインストール

JBossのホームページhttp://www.jboss.com/よりダウンロードのリンクを辿り、「jboss-3.2.7.zip」というファイルをダウンロードしてください。
既にEJB3.0に対応したバージョンであるJboss4が発表されていますが、今回は安定版の
JBoss Application Server 3.2.7 を使用します。

ダウンロードが完了したら解凍後、適当なディレクトリに配置します。
今回は以下のディレクトリに配置したものとして説明します。

Windows
C:\jboss-3.2.7
Linux
/usr/local/jboss-3.2.7/


過去の記事

3日目 J2EE実行環境の概要
2日目 J2EEの位置付け
1日目 J2EEお勉強を開始
  1. 2005/10/08(土) 10:35:10|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

DOSとPL/SQLコマンドの挙動について

タスク起動系のコマンドとその挙動について



コマンド HOST
タイプ SQL*Plus
挙動 処理が終わるまで呼び出し元は停止する
参考 PL/SQL内では使用不可、DOSの環境変数が使えない?

コマンド CALL
タイプ DOS
挙動 処理が終わるまで呼び出し元は停止する
参考

コマンド START
タイプ DOS
挙動 処理はすぐに呼び出し元に戻されるが、/WAITを付ければCALLと同じ動きになる
参考 新プロセスを開きコマンドを実行


WSHによるタスクについて




タスクの一時停止について


DOSの場合、一時停止する方法が無い為、VBScriptを使用する

sleep.bat


echo off
REM Sleep.bat [秒数]
set /a wtime=(%1+0)*1000
echo WScript.Sleep %wtime% > tmp.vbs
cscript //NoLogo tmp.vbs
del tmp.vbs
set wtime=

PL/SQLの場合次のパッケージを使用する


DBMS_LOCK.SLEEP(300);

SQL*Plusを使用したデータの取得


変数&t_dayにシステム日付を代入する。


column tday new_value t_day
select to_char(sysdate, 'yyyymmdd') as tday from dual;

SQL> select'&t_day' "今日" from dual;
旧 1: select'&t_day' "今日" from dual
新 1: select'20050708' "今日" from dual

今日
--------
20050708

SQL>

  1. 2005/10/07(金) 18:26:50|
  2. 開発メモ-Windows
  3. | トラックバック:0
  4. | コメント:0

対話型ユーザー アカウントで実行するように Office アプリケーションを構成する方法

下記アドレス参照
http://support.microsoft.com/default.aspx?scid=kb;JA;288366
  1. 2005/10/07(金) 18:25:51|
  2. 開発メモ-Windows
  3. | トラックバック:0
  4. | コメント:0

ASPの開発中にSQL_TRACEをONにする工夫

こんなページを作っておくとデバッグ時に有効。

<%
Dim CMD
Dim adoCmd 'ADOオブジェクト
Dim commandText
Dim strMessageONOFF
CMD = Request("CMD")
Call main
Sub main()
'on error resume next
If fncChkSession(1,"") <> 0 Then
'不正の場合は終了
Exit Sub
End If
IF CMD="ON" THEN
commandText = "alter session set sql_trace=true"

strMessageONOFF =commandText & "を実行しました<BR>目的のページを実行後、必ずこのページに戻りOFFにして下さい<BR>OFFにしない場合、サーバーに負荷がかかり続けます<BR>"
ELSEIF CMD="OFF" THEN
commandText = "alter session set sql_trace=false"

strMessageONOFF =commandText & "を実行しました<BR><A href=""\\localhost\c$\oracle\admin\ORCL\udump"">トレースファイル</A>を確認してください。<BR>"
ELSE
strMessageONOFF=""
END IF

IF strMessageONOFF <> "" THEN

Session(pcSconDBConn).Execute commandText




END IF
if err.number<>0 then
response.write("err!")
end if
End Sub

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja"><head><meta content="text/html; charset=Shift_JIS" http-equiv="content-type"><title></title></head><body>

<div style="position: absolute; width: 449px; height: 122px; top: 50px; left: 34px;">

<%=strMessageONOFF %>
<form method="get" action="sqltrace.asp" name="FORM">
<div style="text-align: center;"><input name="CMD" value="ON" type="radio">ONにする <input name="CMD" value="OFF" type="radio">OFFにする<br>

<br>
<br>
</div>
<div style="text-align: center;"><input type="submit"></div>
</form>

</div>
</body></html>
  1. 2005/10/07(金) 18:20:09|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

SchTasks

定期的または特定の時間にコマンドおよびプログラムを実行するようスケジュールします。スケジュールのタスクの追加と削除、要求時のタスクの開始と停止、およびスケジュールされたタスクの表示と変更を行います。
SchTasks.exe は、Windows の旧バージョンのツールである At.exe に置き換わるものです。
詳しくはWindowsのヘルプを参照。
  1. 2005/10/07(金) 18:17:44|
  2. 開発メモ-Windows
  3. | トラックバック:0
  4. | コメント:0

SQL*PlusでCSV作成

SQL*Plus の機能で、colsep で結果セットのカラム毎のセパレータを定義できる。


SQL> set heading off
SQL> set colsep ","
SQL> select * from 社員マスタ;
社 社員氏名
-- ------------------------------
01 かねやん
02 うえださん
03 いのっしー
04 あかっしー
05 トランスfonda
  1. 2005/10/07(金) 18:16:32|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

シノニムを使ったビューが実現可能であるか

できます。


SQL> CREATE TABLE A(
2 NAME VARCHAR2(10)
3 );

表が作成されました。

SQL> CREATE TABLE B(
2 NAME VARCHAR2(10)
3 );

表が作成されました。

SQL>
SQL> INSERT INTO A VALUES('テーブルA');

1行が作成されました。

SQL> INSERT INTO B VALUES('テーブルB');

1行が作成されました。

SQL>
SQL> CREATE SYNONYM S FOR A;

シノニムが作成されました。

SQL>
SQL> CREATE VIEW V AS SELECT NAME FROM S;

ビューが作成されました。

SQL>
SQL> SELECT NAME FROM V;

NAME
----------
テーブルA

SQL>
SQL> DROP SYNONYM S;

シノニムが削除されました。

SQL> CREATE SYNONYM S FOR B;

シノニムが作成されました。

SQL>
SQL> SELECT NAME FROM V;

NAME
----------
テーブルB


  1. 2005/10/07(金) 18:15:32|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

BYPASS_UJVC(Updatable Join View Check)

BYPASS_UJVC(Updatable Join View Check)

結合ビュー(Join View)に対してUPDATEを実施すると、2つの表の主キーが一致しておらず内容的にも重複がある(対象表の同一行を複数回更新する)場合

ORA-01779:
 複数表にマップする列を変更できません。(Oracle8iの場合)
 キー保存されていない表にマップする列は変更できません(Oracle9iの場合)

原因:
 キー保存されていない表にマップする結合ビューの列を挿入または更新しようとしました。
処置:
 基礎となる実表を直接変更してください。

というエラーになります。

結合キーが一意でない結合ビュー(Join View)に対して UPDATEを実施したい場合、Oracle8i以降の環境では BYPASS_UJVCというヒントを付けて実行するとORA-1779エラーが発生しません。

参考URL
http://pukiwiki.postcle.com/zange/index.php?BYPASS_UJVC
  1. 2005/10/07(金) 18:14:10|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

OracleでPFILEとSPFILEのどちらを使っているのか調べる

pfile、spfileのどちらから起動したのかを知りたい

「show parameter spfile とコマンドしてパスが表示されればspfile、
表示されなければpfileということになります」
  1. 2005/10/07(金) 18:13:21|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

マルチテーブルアップデート

マルチテーブルアップデート

複数テーブルの情報からUPDATEを実行する方法を検証しました。以下のようにすればDテーブルの内容でCテーブルを更新することが出来ます。
しかしこの方法はあまり早く有りません。(かといってそんなに遅くもありません。)
結合ビュー(Join View)に対してUPDATEを実施するほうが高速に動作するようです。方法はBYPASS_UJVCを参照の事。

create table C(
TEL_NUMBER VARCHAR2(10) NOT NULL, /* KEY */
KBN1 VARCHAR2(10),
KBN2 VARCHAR2(10),
CONSTRAINT C_PK PRIMARY KEY (TEL_NUMBER)
);

create table D(
TEL_NUMBER VARCHAR2(10) NOT NULL, /* KEY */
KBN1 VARCHAR2(10),
KBN2 VARCHAR2(10),
CONSTRAINT D_PK PRIMARY KEY (TEL_NUMBER)
);

insert into C values('1','','');
insert into C values('2','','');
insert into C values('3','','');
insert into C values('4','','');
insert into C values('100','','');


insert into D values('1','a','a');
insert into D values('2','b','b');
insert into D values('3','c','c');
insert into D values('200','d','d');
insert into D values('5','e','e');


UPDATE C
SET (KBN1,KBN2)=
(SELECT D.KBN1,D.KBN2 FROM D WHERE C.TEL_NUMBER = D.TEL_NUMBER)
WHERE EXISTS
(SELECT 'x' FROM D WHERE C.TEL_NUMBER = D.TEL_NUMBER);


select * from C;

drop table C;
drop table d;
  1. 2005/10/07(金) 18:12:44|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

クラシックASPでデバッグを行う方法

クラシックASPでデバッグする方法

IISを準備する。
VisualInterDev?をインストールする。
VisualInterDev? Server Setupをインストールする。(IISのデバッグを行うを参照)
dcomcnfgを起動する

* CatalogClass?のセキュリティ権3つとも独自のアクセス権に変更して自分を割り当てる
* Machine Debug Managerも同様
* MTS Client Exportも同様(ほとんど存在しないのでなくても気にしなくていい) VIDでスタートページを設定する。
VIDでF5でデバッグ開始
ASPのデバッグをするためにはVIDは手放せないです。

http://support.microsoft.com/kb/312880/ja

Visual Studio.NET に移行させられればいいんですけどね・・・・

さらにWindowsXPの場合は次の作業もやっておくと吉
画面のプロパティの[テーマ]-で[Windowsクラシック]にする。
システムのプロパテの[詳細設定]で[パフォーマンス]の設定ボタンを押下
パフォーマンスオプションで[パフォーマンスを優先する]を設定。
これで安定してデバッグできる!
  1. 2005/10/07(金) 18:12:32|
  2. 開発メモ-Windows
  3. | トラックバック:0
  4. | コメント:0

Oracle9iでルータ越えの設定をする

以下のようにします。

ALTER SYSTEM SET
dispatchers='(PROTOCOL=TCP)';

DISPATCHERS は、共有サーバー・アーキテクチャ内のディスパッチャ・プロセスを構成します。Oracle のパラメータ解析部は、属性を順番にかかわりなく大/ 小文字を区別せずに指定できるような名前値の構文をサポートします。次に例を示します。 DISPATCHERS = "(PROTOCOL=TCP)(DISPATCHERS=3)"
今回のリリースでは、ALTER SYSTEM 文のDISPATCHERS 初期化パラメータで、SCOPE 句がサポートされていません。
現行のインスタンスのDISPATCHERS パラメータを再構成するには、SCOPE 句を指定せずにALTER SYSTEM SET DISPATCHERS 文を発行します。この新しい構成を永続化するには、データベースを起動する前に初期化パラメータ・ファイルのDISPATCHERS パラメータを指定します。サーバー・パラメータ・ファイル(spfile)を使用してデータベースを起動している場合は、CREATE SPFILE を発行して、初期化パラメータからspfile を再作成する必要があります。
  1. 2005/10/07(金) 18:07:37|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

PL/SQLで時間を計測する

PL/SQLで時間を計測する

DECLARE
StartTime NUMBER;
EndTime NUMBER;
ElapsedTime NUMBER;
i BINARY_INTEGER;
j BINARY_INTEGER;
BEGIN
-- 計測開始
StartTime := DBMS_UTILITY.GET_TIME;
for i IN 1..1000 LOOP
for j IN 1..1000 LOOP
NULL;
-- 何らかの処理
END LOOP;
END LOOP;
-- 計測終了
EndTime := DBMS_UTILITY.GET_TIME;
ElapsedTime := ( EndTime - StartTime ) / 100;
DBMS_OUTPUT.PUT_LINE( TO_CHAR( ElapsedTime, '9999.99' )||'秒' );
END;
  1. 2005/10/07(金) 18:06:35|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

関数内で使用しているオブジェクトがDROPされた場合のパッケージの挙動

関数内で使用しているオブジェクトがDROPされた場合はエラーとなりますが、再度作成されると問題なく動作します。その際に際コンパイルも不要です。


SQL> conn scott/tiger@
接続されました。
SQL> DROP TABLE A;

表が削除されました。

SQL> DROP TABLE B;

表が削除されました。

SQL> DROP SYNONYM S;

シノニムが削除されました。

SQL> DROP VIEW V;

ビューが削除されました。

SQL>
SQL> CREATE TABLE A(
2 NAME VARCHAR2(10)
3 );

表が作成されました。

SQL> CREATE TABLE B(
2 NAME VARCHAR2(10)
3 );

表が作成されました。

SQL>
SQL> INSERT INTO A VALUES('テーブルA');

1行が作成されました。

SQL> INSERT INTO B VALUES('テーブルB');

1行が作成されました。

SQL>
SQL> CREATE SYNONYM S FOR A;

シノニムが作成されました。

SQL>
SQL> CREATE VIEW V AS SELECT NAME FROM S;

ビューが作成されました。

SQL>
SQL> SELECT NAME FROM V;

NAME
----------
テーブルA

SQL>
SQL> DROP SYNONYM S;

シノニムが削除されました。

SQL> CREATE SYNONYM S FOR B;

シノニムが作成されました。

SQL>
SQL> SELECT NAME FROM V;

NAME
----------
テーブルB

SQL>
SQL> CREATE OR REPLACE PACKAGE P IS
2 FUNCTION P RETURN VARCHAR2; END P;
3 /

パッケージが作成されました。

SQL> CREATE OR REPLACE PACKAGE BODY P AS
2 FUNCTION P RETURN VARCHAR2 IS
3 strNAME V.NAME%TYPE;
4 BEGIN
5 SELECT NAME INTO strNAME FROM V;
6 RETURN strNAME;
7 END P;
8 END P;
9 /

パッケージ本体が作成されました。

SQL>
SQL> select P.P from dual;

P
-----------------------------------------------------
テーブルB

SQL>
SQL> DROP SYNONYM S;

シノニムが削除されました。

SQL>
SQL> select P.P from dual;
select P.P from dual
*
行1でエラーが発生 しました。:
ORA-04063: package body "SCOTT.P"にエラーがあります。


SQL>
SQL> CREATE SYNONYM S FOR A;

シノニムが作成されました。

SQL>
SQL> select P.P from dual;

P
-----------------------------------------------------
テーブルA

SQL>
  1. 2005/10/07(金) 18:04:59|
  2. 開発メモ-データベース
  3. | トラックバック:0
  4. | コメント:0

DOSバッチでユーザに値を入力させる

  • ユーザに値を入力させる。
    @echo off
    setlocal
    REM keyinにダミーをセット(初期化)
    set keyin=0
    echo Input:プロンプト以降にパラメータを入力して、Enterキーを押下してください。
    REM /Pオプションで標準入力より取得
    set /p keyin=Input:
    REM ここではechoしたが、実際にはIF文等で入力をチェックする。
    echo 入力した値は %keyin% です。
    endlocal
    pause
    1. 2005/10/07(金) 17:45:38|
    2. 開発メモ-Windows
    3. | トラックバック:0
    4. | コメント:0

    マイクロドライブが取り出せない!!

    LinuxZaurus SL-C860 を SL-C3000にする

    先日購入したSL-C860をSL-C3000(SL-C3100)と同等にしてしまいます。
    SL-C3000は、小さいボディになんと4Gものハードディスクドライブを搭載したLinuxザウルスです。
    じゃあSL-C860のCFカードスロットにマイクロドライブを入れればおんなじじゃねーか、ということでやってみました。 [マイクロドライブが取り出せない!!]の続きを読む
    1. 2005/10/06(木) 23:29:27|
    2. Linux Zaurus
    3. | トラックバック:1
    4. | コメント:0

    J2EE実行環境の概要

    J2EE実行環境の概要


    さてこれからJ2EEを使用したコミュニケーションツールを作っていくわけですが、そのためには当然J2EEの実行環境が必要になってきます。

    企業向けシステムを構築するための開発環境ですから本気でそろえるとなるとやはり商用のJ2EE対応アプリケーションサーバーを選択する事となると思いますが、1ライセンス何百万円もするようなものを用意するのは難しいですね。
    [J2EE実行環境の概要]の続きを読む
    1. 2005/10/05(水) 22:54:56|
    2. 未分類
    3. | トラックバック:0
    4. | コメント:0

    Ajaxの文字化けについて調べた

    Ajaxの文字化けについて調べた内容




    ASP VBScriptとJavaScripの混在(encodeURI関数を使いたい)



    文字コード関係で遊ぶ amazon KeyWord変換(UTF8変換テスト)



    【Ajax】日本語文字列防忘メモ

    1. 2005/10/04(火) 22:53:06|
    2. 未分類
    3. | トラックバック:0
    4. | コメント:0

    J2EEの位置付け

    J2EEの位置付け

    また、J2EEは分散アプリケーションモデルを構築するためのプラットフォームとして構成されています。これは4つの層に分けて整理してみましょう。 [J2EEの位置付け]の続きを読む
    1. 2005/10/03(月) 22:45:06|
    2. 未分類
    3. | トラックバック:0
    4. | コメント:0

    買ってしまいました

    ついに買ってしまった。念願のLinuxZaurus(LS-C860)。
    とりあえずは携帯電話とOutlookとZaurusのスケジュール同期から。
    まずは基本機能を使いこなせるようにして、飽きたらpdaXromでも入れよっと。
    [買ってしまいました]の続きを読む
    1. 2005/10/02(日) 22:44:14|
    2. Linux Zaurus
    3. | トラックバック:0
    4. | コメント:0

    J2EEお勉強を開始

    と言う訳で今日からブログ開始
    初ブログ、ドキドキわくわくですね。
    便利なツールとして早く使いこなせるようになりたいですね。


    当サイト「まったり開発日誌」では大阪でバリバリ仕事しているエンジニアがJ2EEを中心としたJava開発情報やIT系の資格試験の情報を発信していきます。



    J2EEで作るコミュニケーションツール

    第一回目の今日は、J2EEとは何か?何がいいのかを勉強していきたいと思います。
    [J2EEお勉強を開始]の続きを読む
    1. 2005/10/01(土) 22:38:42|
    2. 未分類
    3. | トラックバック:0
    4. | コメント:0

    RSSフィード

    カレンダー

    09 | 2005/10 | 11
    - - - - - - 1
    2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30 31 - - - - -

    カテゴリー

    最近の記事

    最近のコメント

    最近のトラックバック

    月別アーカイブ

    ブロとも申請フォーム

    この人とブロともになる

    ブログ内検索

    リンク

    このブログをリンクに追加する

    メールフォーム

    名前:
    メール:
    件名:
    本文: