通过ProductID去找ProductName很常见,
但是通过ProductName去找ProductID我是第一次听到。
你的需求很怪,如果不同的ProductID拥有相同的ProductName那要如何处理?

解决方案 »

  1.   

    假设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字段加索引。
      

  2.   

    我用ADO把1787个记录放到一张临时表里面竟然花了我2秒(本地Access数据库)和11秒(远端SQL Server 2000数据库).
    代码如下,有改进的希望吗?
    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();
      

  3.   

    怎样用dts?能够详细一点,我初学数据库编程的.
      

  4.   

    I have indexed the table,Can I?