sqlplus セット


  plus.wsf






  

<JOB>
<COMMENT>
************************************************************
 WEB WSH 実行スケルトン
************************************************************
</COMMENT>

<COMMENT>
************************************************************
 外部スクリプト定義
************************************************************
</COMMENT>
<SCRIPT
	language="VBScript"
	src="http://lightbox.in.coocan.jp/laylaClass.vbs">
</SCRIPT>

<SCRIPT language=VBScript>
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" )
Call laylaLoadFunction( "baseFunction.vbs" )

Call RunCmd( 120, "sqlplus LIGHTBOX/LIGHTBOX@//night/XE" )

</SCRIPT>
</JOB>
  


【Oracle ドキュメント】SQL*Plus コマンド一覧


  login.sql




カレントディレクトリに置くと、ログイン時に実行されます。

SET SERVEROUTPUT ON を指定しないと、DBMS_OUTPUT の結果が表示されません
SET AUTOCOMMIT IMM を指定すると、SQL の UPDATE 時に 自動的にコミットされます

  

SET VERIFY OFF
SET SERVEROUTPUT ON
SET LINESIZE 200
SET PAGESIZE 1000
--SET AUTOCOMMIT IMM
  
【Oracle ドキュメント】 : SERVEROUTPUT
【Oracle ドキュメント】 : AUTOCOMMIT
【Oracle ドキュメント】 : VERIFY

更新を即反映したい場合は、SET AUTOCOMMIT IMM を有効にします。
トランザクションを意図的に継続したい場合は、デフォルトであるオートコミットを無効状態で実行します

↓関連リンク
デッドロックテスト


  env.sql

  

show all
  

  show all の実行中画面


  SQL*Plusスクリプト のバッチ実行

action.sql
  

SET LINESIZE 200
SET PAGESIZE 1000
select * from 商品マスタ;
delete from 商品マスタ where 商品コード = '0000';
EXIT
  

↓実行コマンドライン
  

sqlplus LIGHTBOX/LIGHTBOX@//localhost/XE @action > action.txt
  


参考 : sqlplus による CSVファイル作成

  PL/SQL のビルド( ファンクション )

SQLPLUS のコマンドラインから、

@DISP_STRING

と入力します( 拡張子省略時は、.sql です )

( ※ コードの最後に "/" を書いて下さい )

DISP_STRING.sql
  

CREATE OR REPLACE FUNCTION DISP_STRING
(
	PM_STRING IN VARCHAR2	/* 引数の定義 */
)
RETURN VARCHAR2	/* 戻り値の定義 */

/**********************************************************/
/* 変数の定義 */
/**********************************************************/
AS
	RET_VALUE	VARCHAR2(2000);
	WK_VALUE	VARCHAR2(2000);

/**********************************************************/
/* 処理開始 */
/**********************************************************/
BEGIN
	DBMS_OUTPUT.PUT_LINE('デバッグ:開始');
	DBMS_OUTPUT.PUT_LINE('デバッグ:引数:'||PM_STRING);
	RET_VALUE := PM_STRING;
	RETURN RET_VALUE;

/**********************************************************/
/* 一番外側のブロックの例外処理 */
/**********************************************************/
EXCEPTION
	WHEN OTHERS THEN
		RET_VALUE := '例外発生:'||SQLCODE||':'||SQLERRM;
		RETURN RET_VALUE;
END;
/
  

select 文の一部として実行 ( SQLの場合は、行の最後にセミコロンを入力して ENTER )
  

select DISP_STRING('A') from dual;
  

PL/SQLとして実行 ( PL/SQLの場合は、最後にスラッシュを入力して ENTER )
  

DECLARE
	WK_DATA VARCHAR2(2000);
BEGIN
	WK_DATA := DISP_STRING('A');
END;
/
  

  PL/SQL のビルド( プロシージャ )

SQLPLUS のコマンドラインから、

@SHOW_DATE

と入力します( 拡張子省略時は、.sql です )

( ※ コードの最後に "/" を書いて下さい )

SHOW_DATE.sql
  

CREATE OR REPLACE PROCEDURE SHOW_DATE
(
	PM_STRING IN VARCHAR2
)

/**********************************************************/
/* 変数の定義 */
/**********************************************************/
AS
	RET_VALUE	VARCHAR2(2000);
	WK_VALUE	VARCHAR2(2000);

/**********************************************************/
/* 処理開始 */
/**********************************************************/
BEGIN
	DBMS_OUTPUT.PUT_LINE('デバッグ:開始');
	DBMS_OUTPUT.PUT_LINE('デバッグ:引数:'||PM_STRING);

	-- *************************************************
	-- SELECT 〜 INTO 
	-- 関数の結果を変数にセットする処理
	-- この場合は、WK_VALUE := sysdate でも良い
	-- 実際は、テーブルから1行のデータを取得して
	-- 変数に代入したい場合に使用
	-- *************************************************
	SELECT sysdate INTO WK_VALUE from DUAL;

	DBMS_OUTPUT.PUT_LINE('デバッグ:結果:'||WK_VALUE);

/**********************************************************/
/* 一番外側のブロックの例外処理 */
/**********************************************************/
EXCEPTION
	WHEN OTHERS THEN
		DBMS_OUTPUT.PUT_LINE('例外発生:'||SQLCODE||':'||SQLERRM);
END;
/
  
さらに詳しい SELECT 〜 INTO のサンプル


SQL*Plus コマンドとして実行 ( コマンドは、入力して ENTER )
  

EXEC SHOW_DATE('A')
  

PL/SQLとして実行 ( PL/SQLの場合は、最後にスラッシュを入力して ENTER )
  

BEGIN SHOW_DATE('A'); END;
/
  

SQLとして実行 (SQLの場合は、行の最後にセミコロンを入力して ENTER )
  

CALL SHOW_DATE('A');
  

  PL/SQL のビルド( OUT引数のあるプロシージャ )

GET_DATA.sql
  

CREATE or REPLACE PROCEDURE GET_DATA
(
	PM_STRING IN VARCHAR2,
	PM_NAME OUT VARCHAR2
)

/**********************************************************/
/* 変数の定義 */
/**********************************************************/
AS
	RET_VALUE	VARCHAR2(2000);
	WK_VALUE	VARCHAR2(2000);

	CURSOR cur_main IS
		SELECT * FROM 社員マスタ
		where 社員コード = PM_STRING;

	COMMENT_REC cur_main%ROWTYPE; 

/**********************************************************/
/* 処理開始 */
/**********************************************************/
BEGIN
	DBMS_OUTPUT.PUT_LINE('デバッグ:開始');
	DBMS_OUTPUT.PUT_LINE('デバッグ:引数:'||PM_STRING);

	OPEN cur_main;

	FETCH cur_main INTO COMMENT_REC;
	DBMS_OUTPUT.PUT_LINE('デバッグ:結果:'||COMMENT_REC.氏名);
	-- 引数に戻す
	PM_NAME := COMMENT_REC.氏名;

	CLOSE cur_main;

/**********************************************************/
/* 一番外側のブロックの例外処理 */
/**********************************************************/
EXCEPTION
	WHEN OTHERS THEN
		DBMS_OUTPUT.PUT_LINE('例外発生:'||SQLCODE||':'||SQLERRM);
END;
/
  

E3.sql (実行用)
  

-- SQL*Plusでは、コマンド内で未定義の置換変数が検出された場合、
-- 値の入力を求めるプロンプトが表示されます。
DECLARE
	WK_DATA VARCHAR2(2000);
BEGIN
	GET_DATA( '&TARGET', WK_DATA );
	DBMS_OUTPUT.PUT_LINE( 'OUT引数の内容:'||WK_DATA );
END;
/
  


【Oracle ドキュメント】置換変数

  PL/SQL のビルド( 引数無し : ループ処理 )

GET_DATA_LOOP.sql
  

CREATE or REPLACE PROCEDURE GET_DATA_LOOP

/**********************************************************/
/* 変数の定義 */
/**********************************************************/
AS
	RET_VALUE	VARCHAR2(2000);
	WK_VALUE	VARCHAR2(2000);

	CURSOR cur_main IS
		SELECT * FROM 社員マスタ
		order by 社員コード;

	COMMENT_REC cur_main%ROWTYPE; 

/**********************************************************/
/* 処理開始 */
/**********************************************************/
BEGIN
	DBMS_OUTPUT.PUT_LINE('デバッグ:開始');

	OPEN cur_main;

	LOOP 
		FETCH cur_main INTO COMMENT_REC;
		if cur_main%NOTFOUND then 
			EXIT; 
		end if; 

		DBMS_OUTPUT.PUT_LINE('デバッグ:結果:'||COMMENT_REC.氏名);
	 
	END LOOP; 

	CLOSE cur_main;

/**********************************************************/
/* 一番外側のブロックの例外処理 */
/**********************************************************/
EXCEPTION
	WHEN OTHERS THEN
		DBMS_OUTPUT.PUT_LINE('例外発生:'||SQLCODE||':'||SQLERRM);
END;
/
  

実行
  

EXEC GET_DATA_LOOP
  




yahoo  google  MSDN  MSDN(us)  WinFAQ  Win Howto  tohoho  ie_DHTML  vector  wdic  辞書  天気 


[oracle]
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
24/04/19 18:58:20
InfoBoard Version 1.00 : Language=Perl

1 BatchHelper COMprog CommonSpec Cprog CprogBase CprogSAMPLE CprogSTD CprogSTD2 CprogWinsock Cygwin GameScript HTML HTMLcss InstallShield InstallShieldFunc JScript JScriptSAMPLE Jsfuncs LLINK OldProg OracleGold OracleSilver PRO PRObrowser PROc PROconePOINT PROcontrol PROftpclient PROjscript PROmailer PROperl PROperlCHAT PROphp PROphpLesson PROphpLesson2 PROphpLesson3 PROphpfunction PROphpfunctionArray PROphpfunctionMisc PROphpfunctionString PROsql PROvb PROvbFunction PROvbString PROvbdbmtn PROvbonepoint PROwebapp PROwin1POINT PROwinSYSTEM PROwinYOROZU PROwindows ProjectBoard RealPHP ScriptAPP ScriptMaster VBRealtime Vsfuncs a1root access accreq adsi ajax amazon argus asp aspSample aspVarious aspdotnet aw2kinst cappvariety centura ckeyword classStyle cmaterial cmbin cmdbapp cmenum cmlang cmlistbox cmstd cmstdseed cmtxt cs daz3d db dbCommon dbaccess dnettool dos download flex2 flex3 flex4 framemtn framereq freeWorld freesoft gimp ginpro giodownload google hdml home hta htmlDom ie9svg install java javaSwing javascript jetsql jquery jsp jspTest jspVarious lightbox listasp listmsapi listmsie listmsiis listmsnt listmspatch listmsscript listmsvb listmsvc memo ms msde mysql netbeans oraPlsql oracle oracleWiper oraclehelper orafunc other panoramio pear perl personal pgdojo pgdojo_cal pgdojo_holiday pgdojo_idx pgdojo_ref pgdojo_req php phpVarious phpguide plsql postgres ps r205 realC realwebapp regex rgaki ruby rule sboard sc scprint scquest sdb sdbquest seesaa setup sh_Imagick sh_canvas sh_dotnet sh_google sh_tool sh_web shadowbox shgm shjquery shvbs shweb sjscript skadai skywalker smalltech sperl sqlq src systemdoc tcpip tegaki three toolbox twitter typeface usb useXML vb vbdb vbsfunc vbsguide vbsrc vpc wcsignup webanymind webappgen webclass webparts webtool webwsh win8 winofsql wmi work wp youtube