ストアドプロシージャを作成します。
CREATE 手順を [ DBO ]。【getdata_monitor_city_hour_hb ] @aaa VARCHAR(50 )、 @Test VARCHAR(50 )OUT として 開始 SETを @Test = ' 失败' 。 もし ない 存在(選択 DATETIMEを FROM monitor_city_hour どこの都市のような 「HB%」 と DATETIME =(選択 最大(DATETIME)から monitor_site_hour ここ都市など ' HB%' )) 開始 インサート に monitor_city_hour(DATETIME 、SO 2、NO 2、PM10、CO、o3_1、o3_8、PM25、都市) SELECT DATETIME 、ラウンド(平均(キャスト([ SO 2 ] のように フロート))、0 )SO 2 、ラウンド(平均(キャスト([ NO 2 ] のように フロート))、0)NO 2 、ラウンド(平均(キャスト([ PM10 ] として フロート))、0 )PM10 、ラウンド(平均(キャスト([ CO ] として フロート))、3 )CO 、ラウンド(平均(キャスト([ o3_1 ] として フロート))、0 )o3_1 、ラウンド(平均(キャスト(【o3_8 ] として フロート))、0 )o3_8 、ラウンド(平均(キャスト([ PM25 ] として フロート))、0 )PM25 、[ 都市] FROM monitor_site_hour DATETIME =(セレクトマックス(DATETIME)から monitor_site_hour ここ都市など' HB%" ) と都市のような ' HB%' と SO2 =!' - ' と NO2 =!' - ' と PM10 != ' - ' と共同=!' - ' と o3_1 =!' - ' と o3_8 =!' - ' と PM25 =!' - ' グループ によって DATETIME 、都市; SET @Test = ' 成功'; エンド・ エンド。
JAVAコール
接続CONN = 。JDBCUtilSingle.getInitJDBCUtil()のgetConnection(); conn.setAutoCommit(真の); PreparedStatementのPST = nullを。 // 执行存储过程 のCallableStatement PROC = conn.prepareCall( "{コールgetdata_monitor_city_hour_hb(、)?}" )。 proc.setString( 1、 "AA" )。 proc.registerOutParameter( 2 、のTypes.VARCHAR)。 proc.execute(); ストリングtestPrint = proc.getString(2 )。 System.out.printlnは(新日付()+ "hebeiDataJob、時間都市HB、値が返さ手順格納され:" + TestPrintを); // バッチローディングが完了し、データベース接続が閉じられ JDBCUtilSingle.getInitJDBCUtil()closeConnection(PST、CONN );.