亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sql2stru.sh

?? 簡單的銀行代收系統(tǒng)
?? SH
字號:
#!/bin/ksh 
# luojun,2006-8-15
# 從 sql 建庫腳本生成 dbbuf struct 結構定義
# sql腳本格式:
# create table t_abc 
#  (                                         // 1、前 ( 在 create table 后面一行
#     tlr_no char(4) not null ,   {柜員號}   // 2、字段名與類型定義必須在一行
#     draw_box_flag char(1)       {領用標志} // 3、字段名與類型定義必須在一行 
#                   default '0' not null,    // 4、其他約束條件可以另起行
#     csh_attr      char(1)                  // 5、每個字段的定義最多兩行
#           default '0' not null  {現(xiàn)金性質(zhì)} // 6、注釋可以在不同的行
#  ) ;                                      // 7、后 ) 必須另起一行
#  revoke all on "cbs20".t_clm_box_mgmt 
#    from "public";
#
#  create unique index 
#  "cbs20".idx_clm_box_mgmt on 
#  "cbs20".t_clm_box_mgmt
#  (inst_no,box_no);                         // 8、revoke、index等其他定義忽略
#                                            // 9、可處理一個文件多個表的定義




if [ $# -ne 2 ]
then
	echo "sql2stru.sh sql腳本文件 生成的頭文件名稱"
	exit 0
fi

SQL_FILE=$1
INCL_FILE=$2

gen_date=`date +"%Y-%m-%d %T"`

echo "/* 從文件 " $SQL_FILE " 生成開始 */ " > $INCL_FILE

echo "/* 生成時間:\c" >> $INCL_FILE
echo $gen_date "*/" >> $INCL_FILE

awk '
BEGIN {
	printf "/* 以下是根據(jù)sql腳本自動建立的, 如果有錯誤請檢查建庫腳本 */ \n";
#	printf "$include \"datetime.h\";\n\n";
#	printf "#ifndef DBBUF_H\n";
#	printf "#define DBBUF_H\n";
#	printf "#define  MAX_HIS_LEN  1000 /*歷史備份字串最大長度*/\n\n";


	one_row = 0;
	n_lines = 0;
	n_tables = 0;
	in_flag = 0;
}
{
	n_lines = n_lines + 1;
	if ( tolower($1) == "create" )
	{
		if ( tolower($2) == "table" )
		{
			if ( in_flag != 0 )
			{
				printf " ERROR line %d \n",n_lines;
			}
			in_flag = 1;
			sub_idx = index($3,".") + 1;
			struct_name = tolower(substr($3,sub_idx));
			struct_name = "s" substr(struct_name,2);
			printf "$struct %s {\n",struct_name;
			n_tables = n_tables + 1;

			if ( $4 == "(" && in_flag == 1 )
				in_flag = 2;

		}
	}

	if ( $1 == "(" && in_flag == 1 )
		in_flag = 2;

	
	if ( one_row == 1 && in_flag == 2 )
	{
		if ( cmt_str == "" )
			printf "    %-8s%-25s\n",fld_type,fld_name ";";
		else
			printf "    %-8s%-25s/* %s */\n",fld_type,fld_name ";",cmt_str;

		if ( next_table == 1 )
		{
			printf "};\n\n"
			next_table = 0;
			in_flag = 0;
		}
		one_row = 0;
	}
	
	if ( NF > 0 && in_flag == 3 )
	{
		if ( substr($1,1,1) == ")" )
		{
			in_flag = 2;
			one_row = 1;
			next_table = 1;
		}
		else
		{
			test_str = $0;
			cmt = tolower($NF);

			if ( index(cmt,"{") > 0 )
			{
				cmt_str1 = substr(cmt,index(cmt,"{") + 1);
				cmt_str = substr(cmt_str1,1,index(cmt_str1,"}") - 1);
			}
			else
			{
				cmt_str = "";
			}

			if ( index (test_str , ",") == 0 )
			{
				in_flag = 3;
			}
			else
			{
				in_flag = 2;
			}
			one_row = 1;
		}
	}
	else	if ( NF > 1 && in_flag == 2 && tolower($1) != "create" )
	{
		fld_name = tolower($1);
		fldtype = tolower($2);

		test_str = $0;

		if ( tolower(substr(fldtype,1,4)) == "date" )
		{
			fld_type = "long";
		}

		if ( tolower(substr(fldtype,1,8)) == "datetime" )
		{
			fld_type = "dtime_t";
		}

		if ( tolower(substr(fldtype,1,7)) == "int" )
		{
			fld_type = "long";
		}

		if ( tolower(substr(fldtype,1,7)) == "integer" )
		{
			fld_type = "long";
		}

		if ( tolower(substr(fldtype,1,7)) == "serial" )
		{
			fld_type = "long";
		}

		if ( tolower(substr(fldtype,1,7)) == "decimal" )
		{
			fld_type = "double";
			test_str = substr($0,index($0,",") + 1);
		}

		if ( tolower(substr(fldtype,1,4)) == "char" || tolower(substr(fldtype,1,7)) == "varchar")
		{
			fld_type = "char";
			len = substr(tolower(fldtype),index(tolower(fldtype),"(") + 1,index(tolower(fldtype),")") - index(tolower(fldtype),"(") - 1);
#			if ( substr(fld_name,length(fld_name) - 2,3) == "tlr" && len != 6 )
#			{
#				printf "ERROR line %d TLR length is not 6\n",n_lines;
#			} 
#			else
#			if ( substr(fld_name,1,3) == "tlr" && len != 6 )
#			{
#				printf "ERROR line %d TLR length is not 6\n",n_lines;
#			}

			fld_name = fld_name "[" len "+1]";
		}

		cmt = tolower($NF);
		if ( index(cmt,"{") > 0 )
		{
			cmt_str1 = substr(cmt,index(cmt,"{") + 1);
			cmt_str = substr(cmt_str1,1,index(cmt_str1,"}") - 1);
		}
		else
		{
			cmt_str = "";
		}
		if ( index (test_str , ",") == 0 )
		{
			in_flag = 3;
		}
		else
		{
			one_row = 1;
		}
	}

}
END {
	if ( in_flag != 0 && one_row != 0 )
	{
		printf " ERROR line %d \n",n_lines;
	}
#	printf "#endif\n";
	printf "/* 以上是根據(jù)sql腳本自動建立的, 如果有錯誤請檢查建庫腳本 */ \n";
	printf "/* 一共處理 %d 行腳本,生成 %d 個結構 */\n",n_lines,n_tables;
#	printf "/* 自動生成完成 */\n";
}' $SQL_FILE >> $INCL_FILE

echo "/* 從文件 " $SQL_FILE " 生成結束 */ " >> $INCL_FILE

echo "EXEC SQL INCLUDE "$INCL_FILE " ;\n" > $INCL_FILE.ec

esql -e $INCL_FILE.ec

if [ $? -eq 0 ]
then
	echo "No Error!\n"
else
	echo "Error!\n"
fi

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本亚洲三级在线| 99r国产精品| 成人性视频免费网站| 粉嫩13p一区二区三区| 一本大道久久a久久综合婷婷| 欧美日韩在线不卡| 26uuu亚洲综合色欧美| 国产精品三级av| 亚洲高清中文字幕| 国产一区二区三区| 日本高清成人免费播放| 欧美一卡二卡在线| 亚洲人午夜精品天堂一二香蕉| 日韩精品成人一区二区三区| 成人一道本在线| 欧美高清视频一二三区| 欧美经典一区二区三区| 午夜欧美2019年伦理| 国产精品综合网| 69久久99精品久久久久婷婷| 精品国产91乱码一区二区三区| 久久久久久久久99精品| 五月激情综合色| 99久久精品国产一区| 欧美tk丨vk视频| 午夜精品福利视频网站| 不卡欧美aaaaa| 久久女同互慰一区二区三区| 亚洲欧洲精品一区二区三区不卡| 美国三级日本三级久久99| 91国产成人在线| 中文字幕不卡三区| 一区二区三区欧美视频| 国产精品一区二区三区99| 欧美一区二区黄| 加勒比av一区二区| 欧美精品日韩一区| 中文字幕亚洲一区二区va在线| 国产一区欧美二区| 日韩欧美一区中文| 亚洲成av人影院| 国产美女一区二区三区| 精品少妇一区二区三区在线视频| 日韩国产一二三区| 91精品国产综合久久婷婷香蕉| 亚洲综合色网站| 91免费视频观看| 亚洲三级电影网站| 成人一区二区在线观看| 久久久影院官网| 麻豆国产91在线播放| 欧美一级生活片| 国产精品996| 亚洲欧美一区二区三区国产精品 | 欧美日韩精品一区二区在线播放| 一区二区三区精密机械公司| 欧美日本在线观看| 国产一区二区在线电影| 亚洲精选视频在线| 欧美一级夜夜爽| 国产.欧美.日韩| 亚洲电影第三页| 日本一区二区三区四区| 在线观看www91| 久久99精品久久久久久| 亚洲同性gay激情无套| 欧美日韩国产一区二区三区地区| 久久国产精品第一页| 亚洲欧洲综合另类| 日韩精品专区在线影院重磅| 91在线免费看| 国产原创一区二区三区| 亚洲免费看黄网站| 91亚洲国产成人精品一区二区三| 91精品国产综合久久精品性色| 精品一区二区三区不卡 | 免费人成在线不卡| 久久久电影一区二区三区| 91福利视频久久久久| 九九视频精品免费| 蜜桃一区二区三区在线观看| 欧美激情在线观看视频免费| 欧美久久婷婷综合色| 99久久精品免费看| 黄网站免费久久| 亚洲国产精品久久久久秋霞影院| 日本一区二区三区四区在线视频| 欧美一区2区视频在线观看| 91女厕偷拍女厕偷拍高清| 国产一区二区三区| 免费观看久久久4p| 亚洲国产欧美日韩另类综合| 国产精品免费丝袜| 亚洲精品一区二区三区精华液 | 欧美一级二级在线观看| 91香蕉视频污在线| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美国产欧美亚州国产日韩mv天天看完整| 欧美三级乱人伦电影| 91视频国产资源| 国产·精品毛片| 国产一区三区三区| 久久福利资源站| 六月丁香综合在线视频| 天天色 色综合| 亚洲一区二区视频在线观看| 亚洲美女在线国产| 亚洲日本免费电影| 一区在线观看视频| 国产精品毛片久久久久久久| 欧美激情一区二区三区蜜桃视频| 久久精品亚洲乱码伦伦中文 | 99久久综合精品| 国产风韵犹存在线视精品| 国产精品综合在线视频| 国产精品一区三区| 国产精品一区二区你懂的| 国产成人亚洲综合a∨婷婷图片| 国产麻豆视频一区二区| 国产98色在线|日韩| 丰满放荡岳乱妇91ww| www.欧美色图| 91免费观看国产| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲第一主播视频| 日韩国产在线一| 精品亚洲porn| 国产成人av电影在线观看| 国产大陆精品国产| 99re成人在线| 欧美日韩一区二区电影| 日韩欧美一区二区三区在线| 精品国产免费视频| 国产精品高潮久久久久无| 亚洲小说春色综合另类电影| 日本亚洲天堂网| 国产不卡视频在线播放| 色欧美88888久久久久久影院| 欧美日韩卡一卡二| 欧美精品一区二区三区在线 | 污片在线观看一区二区| 看片的网站亚洲| 成人高清av在线| 欧美日韩国产综合久久| 亚洲欧美另类小说| 五月天欧美精品| 国产成人av电影免费在线观看| 色婷婷久久综合| 欧美精品一区二| 亚洲六月丁香色婷婷综合久久| 日韩综合小视频| 国产成a人无v码亚洲福利| 欧洲一区二区三区免费视频| 精品久久国产老人久久综合| 中文字幕一区二区三区在线播放| 亚瑟在线精品视频| 不卡av在线免费观看| 日韩一级片在线播放| 中文字幕在线一区免费| 看片网站欧美日韩| 欧美四级电影网| 国产亚洲精品精华液| 午夜精品一区二区三区电影天堂| 粉嫩av一区二区三区粉嫩| 51精品秘密在线观看| 亚洲黄一区二区三区| 成人在线综合网站| 欧美电影免费观看高清完整版在线| 亚洲欧洲制服丝袜| 国产白丝精品91爽爽久久| 日韩欧美一二区| 爽好久久久欧美精品| 色综合色综合色综合| 国产欧美日韩久久| 韩国女主播一区二区三区| 欧美精品视频www在线观看| 亚洲色图欧美在线| 高清不卡在线观看av| 久久影院午夜论| 看国产成人h片视频| 日韩一级完整毛片| 日韩电影在线观看一区| 欧美日韩综合不卡| 夜夜嗨av一区二区三区中文字幕| 丁香六月综合激情| 国产欧美综合在线| 国产丶欧美丶日本不卡视频| 精品国产一区二区三区不卡| 男女性色大片免费观看一区二区| 欧美在线观看视频一区二区| 亚洲免费观看高清完整版在线观看 | 日韩欧美一区二区免费| 视频一区二区三区中文字幕| 欧美巨大另类极品videosbest| 亚洲午夜一区二区| 欧美视频日韩视频| 亚洲va国产va欧美va观看| 欧美日韩精品一区二区天天拍小说| 亚洲综合图片区| 欧美高清视频在线高清观看mv色露露十八 |