日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

上交所行情文件导入数据库

發布時間:2023/11/30 数据库 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 上交所行情文件导入数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

事情的起因很簡單,需要將股票收盤行情導入數據庫,因為科創板交易時間延長,需要將原有的程序進行改造,眾所周知,程序員永遠是不夠用的,只能自己解決這個問題。
方式是用定時器調用shell腳本。
上交所的mktdt00.txt使用“|”作為分隔符。
核心代碼是將mktdt00.txt轉成程insert into? table? values( ) 然后有sqlplus導入數據庫。
代碼一:

#!/bin/bash
dbfpath=/home/oracle/dbf_insert/stockkcb/dbf

IFS=$'\n'
for entry in $(cat $dbfpath/mktdt00.txt)
do
??? IFS='|'
??? arr=($entry)

if? [?? ${arr[0]} == 'MD001' ];?? then ##? index

?????? a="?? INSERT INTO mktdt00 VALUES(? ""'"
??????? a=$a"${arr[1]}""','""${arr[2]}""',"
??????? a=$a"${arr[5]}"",""${arr[6]}"",""${arr[4]}"
??????? a=$a",""${arr[7]}"",""${arr[8]}"",""${arr[9]}"",0,0,""${arr[3]}"
??????? a=$a",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0? )? ;? "
??????? echo $a>>$dbfpath/mktdt00.sql
elif [?? ${arr[0]} == 'MD002' ] || [ ${arr[0]} == 'MD003' ]?? || [?? ${arr[0]} == 'MD004' ] ;
then?????
?????? ## stock bond? fund
??????? a=" INSERT?? INTO mktdt00 VALUES(? ""'"
??????? a=$a"${arr[1]}""','""${arr[2]}""',"
??????? a=$a"${arr[5]}"",""${arr[6]}"",""${arr[4]}"",""${arr[7]}"",""${arr[8]}"
??????? a=$a",""${arr[10]}"",""${arr[11]}"",""${arr[13]}"",""${arr[3]}"",0"
??????? a=$a",""${arr[12]}"",""${arr[15]}"",""${arr[16]}"",""${arr[19]}"",""${arr[20]}"
??????? a=$a",""${arr[14]}"",""${arr[17]}"",""${arr[18]}"",""${arr[21]}"",""${arr[22]}"
??????? a=$a",""${arr[23]}"",""${arr[24]}"",""${arr[27]}"",""${arr[28]}"",""${arr[25]}"
??????? a=$a",""${arr[26]}"",""${arr[29]}"",""${arr[30]}"" );"
??????? echo $a>>$dbfpath/mktdt00.sql
???? else
??????? echo "success!"
fi
done

echo "commit;">>$dbfpath/mktdt00.sql

'MD001' 是指數格式和 其他的格式有所不同。

代碼二

#!/bin/sh

. ~oracle/.bash_profile

user='數據庫用戶名'
pwd='數據庫密碼'
dbfpath=/home/oracle/dbf_insert/stockkcb/dbf

cd $dbfpath
rm -rf *

wget? http://內網ipip/mktdt00.txt? #下載局域網中的交易所行情文件mktdt00.txt

sh? $dbfpath/readkcb.sh #執行上一下txt轉sql 腳本

if [ -s? mktdt00.sql?? ];then

???? sqlplus? $user/$pwd? <<EOF? >/tmp/imp.log
????? truncate table mktdt00;
????? @$dbfpath/mktdt00.sql
????? quit
EOF

轉載于:https://www.cnblogs.com/ianxu/p/11176606.html

總結

以上是生活随笔為你收集整理的上交所行情文件导入数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。