假设ProductName唯一:把这1000个ProductName放到一个临时表#Temp,然后:insert Product(ProductName) select ProductName from #Temp where not exists ( select 1 from Product where ProductName=#Temp.ProductName )select ProductID from Product,#Temp where Product.ProductName=#Temp.ProductName注意一定要对Product表的ProductName字段加索引。
select ProductName
from #Temp
where not exists (
select 1 from Product
where ProductName=#Temp.ProductName
)select ProductID
from Product,#Temp
where Product.ProductName=#Temp.ProductName注意一定要对Product表的ProductName字段加索引。
代码如下,有改进的希望吗?
recWord->Open(_bstr_t("TempDictionary"),_variant_t((IDispatch *)m_pConnection,true),adOpenKeyset,adLockOptimistic,adCmdTable);
for( long i=0; i<vecTF.size(); i++)
{
recWord->AddNew();
recWord->Fields->Item[_variant_t( "Word" )]->Value = (char *)(vecTF[i].sWord.c_str());
}
recWord->UpdateBatch(adAffectAll);
recWord->Close();