data_type
ファイルから読み取ったテーブルのを返す配列があります。例えば:
filed1 VARCHAR2
filed2 INTEGER
等
ここinsert
で、バックアップのために同じテーブルで実行する必要があります。この手順は動的になるため、次のように思いつきました。
ENDROW=""
while read ENDROW;
do
tmp=${ENDROW##*@#;}
field1=`printf "%s\n" "${tmp%%@#;*}"`
tmp=${ENDROW##*@#;}
field2=`printf "%s\n" "${tmp%%@#;*}"`
*and here the insert in the table*
done
data_type
値を引用する必要があるかどうかを理解できるように、各フィールドの を見つける必要があるため、配列を作成しました( ''
)。アレイをこれに「接続」するにはどうすればよいですか? シェルは、配列の最初の値が であることを理解VARCHAR2
し''
、insert
.
わかりました。ありがとうございます。ただし、私の配列が次のような場合:
field1 VARCHAR2
field2 NUMBER
field3 VARCHAR2
field4 DATE
field5 TIMESTAMP(6)
field6 DATE
field7 DATE
field8 CHAR
関数は次のようになります。
function format {
case "${typeof[$1]}" in
VARCHAR2) printf '"%s"\n' "$2" ;;
NUMBER) printf "%d\n" "$2" ;;
DATE) printf "%d\n" "$2" ;;
CHAR) printf "%d\n" "$2" ;;
*) print -u2 "don't know about field '$1'" ;;
esac
}
?