OCCI调用存储过程实现批量插入

	// 打开一个查询
	COcciQuery occiQuery;
	occiQuery.Open(m_pServerInfo->m_connPool.m_connTSP.GetConn());
	
	// 初始化存储过程
	occiQuery.SetSQL("BEGIN LHWT_CUSTOMER_REGIST_PRO(:v1, :v2, :v3, :v4, :v5, :v6, :v7, :v8, :v9); END;");
	
	// 执行存储过程
	Statement* pStatement = occiQuery.GetStatment();
	if(NULL != pStatement)
	{
		// 设置批量插入的最大条数
		pStatement->setMaxIterations(128); 

		// 设置存储过程各参数的字节大小
		pStatement->setMaxParamSize( 1, 16 );
		pStatement->setMaxParamSize( 2, 16 );
		pStatement->setMaxParamSize( 3, 16 );
		pStatement->setMaxParamSize( 4, 16);
		pStatement->setMaxParamSize( 5, 16 );
		pStatement->setMaxParamSize( 6, 30 );
		pStatement->setMaxParamSize( 7, 30 );
		pStatement->setMaxParamSize( 8, 30 );


		for( int i = 0; i < N; i++)
		{
			pStatement->setString( 1, userInfo.m_szVehicleNumber );
			pStatement->setString( 2, userInfo.m_szDeviceMobileNumber );
			pStatement->setString( 3, userInfo.m_szVehiclesType );
			pStatement->setString( 4, userInfo.m_szBrand );
			pStatement->setString( 5, userInfo.m_szModel );	
			pStatement->setString( 6, userInfo.m_szMotorNumber );
			pStatement->setString( 7, userInfo.m_szFrameNum );
			pStatement->setString( 8, userInfo.m_szBuyUser );

			// 注意:最后一条记录不要调用该函数
			if( i != N-1 )
				pStatement->addIteration();
		}
		
		occiQuery.ExecuteProc();
	}
			
	occiQuery.Close();

你可能感兴趣的:(null,存储)