The UNIX and Linux Forums  


Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > UNIXのダミー質問と回答のため
Googleのunix.com



UNIXのダミー質問と回答のため もしUNIXやLinuxについての質問があれば、ここに投稿してください。すべてのUNIXおよびLinux初心者歓迎!

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
ハッシュ配列にcsvファイルを読むか? kinmak シェルプログラミングとスクリプティング 1 2008年5月7日 11:35午前
配列から文字を保持してsringエコーの配列を作成します。 rorey_breaker シェルプログラミングとスクリプティング 5 2007年9月28日 09:42午前
ファイルをアレイから ロック シェルプログラミングとスクリプティング 2 2007年2月8日 06:10午前
ダンプファイル内の配列 IMDを シェルプログラミングとスクリプティング 3 2006年8月31日 11:04午前
bashのにはどうすれば、動的配列の要素を読むことができますか? haisubbu UNIXのダミー質問と回答のため 1 2006年8月29日 03:19午前

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2007年10月5日
ピンキー pinky is offline
登録ユーザー
  
 

参加日: 2007年7月
投稿: 33
txtファイルから読み込む方法と使用することは、配列として

みんなこんにちは

どのように全てをやっū ?

私はこの私は、 unixを達成するために厳しい時間を過ごしています。 kshスクリプトを呼び出し
SQLスクリプト

今のところ私harcoded列番号のSQLスクリプトのだが、私は、 txtファイルからそれらを読むには
1084,1143,1074,1080,1091,1090,1101,1069,1104,1087,1089,1081

私はSQLスクリプト内の配列として、このファイルを読むには


マイkshスクリプトです



# ! / usr / binに/ ksh
DIRNAME \u003d ` dirname $ 0 `
# Oracleのデータベースインスタンスベースの環境をセットアップするSMO
。 $ DIRNAME / defaults_env.ksh

エコー"は、地域を入力してください( ie. 001または002 ) : "
読むsdzone ;
輸出としてuserfile \u003d " cvsusers.txt "
ログファイル\u003d $ DIRNAME / cvs_users_defaults.log
タイム\u003d `日`

場合は、ログファイルが存在している番号を確認し、参照にしていない場合は作成します
[場合は、 $ DIRNAME / cvs_users_defaults.log ]
それから

その他の
/ cvs_users_defaults.log $ DIRNAMEに触れる
Fiの

#場合はデータ( cvsusers.txt )ファイルを表示するにチェックを読み込むために存在しています。
[場合は、 $ DIRNAME / $としてuserfile ]
それから
#利用者IDの一覧はユーザーIDファイルから供給されている


INFILE \u003d $としてuserfile ;
"ユーザIDを入力として$ INFILEファイル"を使用してエコー;
" "エコー;
"エコー$時間" > > $ログファイルの処理を開始
"ユーザー初期化する"の手順を呼び出すエコー
猫のためのユーザーID 、 ` ` $ INFILE
する
"ユーザー" $ユーザーID > > $ログファイルをユーザのデフォルトの保存エコー
ユーザーIDの長さ$ userIdLength \u003d ` exprが`
場合、 [ $ userIdLength -グアテマラ8 ]
それから
エコー"ユーザーIDの長さ" $ユーザーID "が長すぎます" > > $ログファイルです
その他の
" SQLに" > > $ログファイル接続エコー

[ [ $ sdzone \u003d '001 ' ] ] ;し
sqlplus - ZONE1_USERNAME_525 $ / $ ZONE1_PASSWRD_525 $ @ ZONE1_DBNAME_525 \ @ $ DIRNAME / SQLの/ cvs_users_defaults.sql $ユーザーID > >ログファイル
" " > > $ログファイルをSQLに接続エコー


elif [ [ $ sdzone \u003d '002 ' ] ] ;し
sqlplus - ZONE2_USERNAME_525 $ / $ ZONE2_PASSWRD_525 $ @ ZONE2_DBNAME_525 \ @ $ DIRNAME / SQLの/ cvs_users_defaults.sql $ユーザーID > >ログファイル
" " > > $ログファイルをSQLに接続エコー


その他の
"無効な地域コードエコー! "
出口;
Fiの

Fiの
完了した


処理後のファイルの名前を変更#
logtime \u003d `日" + %および%メートル% d個%時間%メートル% S "は、 `
newUserFile \u003d " cvs_users_processed_ " $ logtime "テキスト"
ミュージックビデオする$ userfile $ newUserFile

$時間でユーザのデフォルト設定のエコー"エンディングプロセス" > > $ログファイル
" $ログファイル"は、ログファイルを確認するエコー
出口0
その他の
# " custsoncologyusers.txt "ファイルが存在しない場合DIRNAMEし潔く終了
"ユーザーがデフォルトのファイル( $としてuserfile )エコーをロードする"は入手可能です
"ユーザーがデフォルトのファイル( $としてuserfile )エコーをロードする" > > $ログファイルは入手可能です
" $時のリターンコードは0で" > > $ログファイルのデフォルトのユーザープロセスの終了エコー
出口0
Fiの


これは私のSQLスクリプト( ) cvs_users_defaults.sqlです

時がSQLError出口SQL.SQLCODE ;
に設定serveroutput ;
オフかどうかを確認する;
フィードバックを設定する;

宣言
ユーザーID s_user_cust_acct.user_id %の種類: \u003d ' & 1 ' ;
t_col_id_tabコードタイプのテーブルです。
my_col_id t_col_id_tab ;
t_col_seq_num_tabコードタイプのテーブルです。
my_col_seq_num t_col_seq_num_tab ;
t_all_col_id_tabコードタイプのテーブルです。
all_col_id t_all_col_id_tab ;
tcountコード;
開始する
カウントを選択してください( * )
にtcount
s_column_atrbから
どこuser_id \u003d上部( )ユーザーID
とscreen_typ_cd \u003d 0 ;
( tcount > 0 )し
dbms_output.put_line ( '更新s_column_atrb ' | | )ユーザーID ;

受注- (ここに私は難しいけど、このコードは、配列を読みたいです。 kshスクリプトは、 txtファイルと栄養)
all_col_id : \u003d t_all_col_id_tab ( 1069,1071,1072,1073,1074,1075,1076,1077,1078,1080,1081,1082,1083,1084,1085,1086,108 7,1088,1089,1090,1091,1101 、 1102,1103,1104,1114,1115,1116,1117,1118,1119,1120,1122,1123,1124,1125,112 6,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136 、 1137,1138,1139,1140,1141,1142,1143,1144,1145,114 6,1147,1148,1149,1150,1151,1152,1154,1169,1178,1182,1183,1195 ) ;
my_col_id : \u003d t_col_id_tab ( 1084,1143,1074,1080,1091,1090,1101,1069,1104,1087,1089,1081 ) ;

my_col_seq_num : \u003d t_col_seq_num_tab ( 4,12,2,6,7,8,10,1,9,3,5,11 ) ;

1 .. 12で私はループの
dbms_output.put_line ( ' ( ' | |私my_col_id | | ' ) ' | | ( 1 ) ) my_col_id ;
s_column_atrb更新
設定show_hide_ind \u003d ' Y 'について、 column_seq_num \u003d my_col_seq_num ( ⅰ )
どこuser_id \u003d上部( )ユーザーID
とscreen_typ_cd \u003d 0
とcol_id \u003d ( ⅰ ) my_col_id ;
エンドループ;
終了;
/
終了


任意の体行わこの取得するのに役立ちます
事前に感謝
ピンキー
  #2固定リンク)  
Old 2007年10月7日
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
モデレータ
  
 

参加日: 2003年12月
場所:フロリダ州
投稿数: 1937
" cvs_users_defaults.sql "その場で構築する前に挿入すると最も簡単な方法
それを実行します。

例:ファイルの"頭"を含む


コード:
WHENEVER SQLERROR EXIT SQL.SQLCODE;
set serveroutput on;
set verify off;
set feedback off;

declare
userId s_user_cust_acct.user_id%TYPE := '&1';
TYPE t_col_id_tab IS TABLE OF number;
my_col_id t_col_id_tab;
TYPE t_col_seq_num_tab IS TABLE OF number;
my_col_seq_num t_col_seq_num_tab;
TYPE t_all_col_id_tab IS TABLE OF number;
all_col_id t_all_col_id_tab;
tcount number;
begin
select count(*)
into tcount
from s_column_atrb
where user_id = UPPER(userId)
and screen_typ_cd = 0;
if (tcount > 0) THEN
dbms_output.put_line('updating s_column_atrb' || userId);

ファイルの"テール"を含む:


コード:
my_col_seq_num := t_col_seq_num_tab(4,12,2,6,7,8,10,1,9,3,5,11); 

For i in 1..12 LOOP
dbms_output.put_line('my_col_id(' || i || ') is ' || my_col_id(i));
update s_column_atrb
set show_hide_ind = 'Y', column_seq_num = my_col_seq_num(i)
where user_id = UPPER(userId)
and screen_typ_cd = 0
and col_id = my_col_id(i);
END LOOP;
end;
/
exit

とファイル"受注" 、 "変更のコードを含んでいることでしょう"


コード:
-- Orders
all_col_id := t_all_col_id_tab(1069,1071,1072,1073,1074,1075,1076,1077,1078,1080,1081,1082,1083,1084,1085,1086,108 7,1088,1089,1090,1091,1101,1102,1103,1104,1114,1115,1116,1117,1118,1119,1120,1122,1123,1124,1125,112 6,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,114 6,1147,1148,1149,1150,1151,1152,1154,1169,1178,1182,1183,1195);
my_col_id := t_col_id_tab(1084,1143,1074,1080,1091,1090,1101,1069,1104,1087,1089,1081);

その後、シェルスクリプトとしては、 SQLスクリプトを構築すると次のように変更:

猫の頭を受注尾> cvs_users_defaults.sql

を起動する前にcvs_users_defaults.sql
  #3固定リンク)  
Old 2007年10月7日
ピンキー pinky is offline
登録ユーザー
  
 

参加日: 2007年7月
投稿: 33
私はあなたの助けに感謝したが、私は完全に混乱して、新しいスレッドに関連する投稿
回答いただきありがとうございます
  #4固定リンク)  
Old 2007年10月8日
ピンキー pinky is offline
登録ユーザー
  
 

参加日: 2007年7月
投稿: 33
やあみんな

私は詳細に何を達成するために求められている私の質問をする

私はtxtファイルがある
このようになります。

x.txt
5
8
10
15
17
19

私abc.kshてxyz.sqlスクリプト

私abc.ksh (シェルスクリプト内でx.txt配列にファイルを読むこと)を、 ( SQLスクリプト) xyz.sqlでは、配列を渡すには配列の値を読んで、 XYZ社のロジックでこれらの値を使用したかった。のSQL ( SQLスクリプト) 。


ありがとう
Apprciateどんな手助け
私は必死に助けが必要です
ピンキー
  #5固定リンク)  
Old 2007年10月8日
ピンキー pinky is offline
登録ユーザー
  
 

参加日: 2007年7月
投稿: 33
ねえfpmurphy

私の場合、私はその場で。 sqlファイルを構築する私は頭と尾を保存しなければならないと注文すると、 tail.sql 、 head.sqlとorders.sql
手の込んだことができますū plz

私だけの方法があるかどうかは、 SQLスクリプトをシェルスクリプトからパラメータとして配列を送ることができるでしょう午前

おかげで助けを求めて多くのすべてのウル
ピンキー
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 04:34午前


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0