现在的位置: 首页 > 综合 > 正文

存储过程 添加数据

2013年08月15日 ⁄ 综合 ⁄ 共 1391字 ⁄ 字号 评论关闭
create or replace procedure save_SERVICE(
service_name in varchar2,
mainnmethod in varchar2,
appenv in varchar2,
ip in varchar2,
isautorun in varchar2,
osenv in varchar2,
path in varchar2,
servicetype in varchar2,
url in varchar2,
service_status in varchar2

) is
begin
insert into bank.cpkservice
(CPKSERVICEID,CPKSERVICENAME,CPKSERVICEMAINMETHOD,
CPKSERVICEAPPENV,CPKSERVICEIP,CPKSERVICEISAUTORUN,
CPKSERVICEOSENV,CPKSERVICEPATH,CPKSERVICETYPE,CPKSERVICEURL,STATUS)
values(bank.bank_seq.nextval,service_name,mainnmethod,appenv,ip,isautorun,osenv,path,servicetype,url,service_status);
end;

/**
	 * insert a record to a table
	 * @param produreName
	 * @param map <int,String>
	 * @return
	 * @throws SQLException
	 */
	public static int execSaveProdure(String produreName,
			Map<String, String> map) throws SQLException {
		int item = 0;

		if (map != null) {
			connection = DBConnPool.getInstance().getConnection();
			int paramSize = map.size();
			StringBuffer params = new StringBuffer();
			for (int i = 0; i < paramSize; i++) {
				params.append("?");
				if (i != paramSize-1) {
					params.append(",");
				}
			}
			StringBuffer produreCMD = new StringBuffer();
			produreCMD.append("{call ").append(produreName).append("(")
					.append(params.toString()).append(")}");
			CallableStatement statement = connection.prepareCall(produreCMD
					.toString());
			Set<String> keySet = map.keySet();
			for (Iterator iterator = keySet.iterator(); iterator.hasNext();) {
				String key = (String) iterator.next();
			
				statement.setString(Integer.parseInt(key), map.get(key));
			}
			item = statement.executeUpdate();
		}

		return item;
	}

抱歉!评论已关闭.