[步骤]
CODE:N13571212Error:14_2627_1_-2146232060
SQL:
if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#tbProductSku') and type='U')
drop table #tbProductSku;
create table #tbProductSku
(
SKU varchar(50) primary key
)
insert into #tbProductSku
select item as SKU from CharSplitForIn('13030712,13033577,12856515,13018629,13031218,12507853,12605453,13023116,13016866,12856899,12856655,12856060,12858116,13023671,12839952,13029742,12580870,13016236,12406563,12384056,12855875,12590548,12578891,12840034,13022924,12581394,12592200,13041922,12614134,12923590,12867090,12858144,12858961,12384022,12870102,13042813,12865186,13028098,12922925,12504095,12605161,12636122,12855071,12620846,12591030,12836273,12850394,13023671,12855880,12867485,12924055,12581347,13017339,13031093,12856874,12858147,12597480,13033131,12626205,12384292,12651861,13043023,12836304,12840008,12870333,13027514,13026533,13017813,12860974,12384001,12871003,12855308,12596256,12858121,12614403,12852970,12639486,13030956,12839892,12848273,12856864,12850416,12581316,12858978,12860948,12871637,12636152,12594627,13031327,13031327,12590655,12839339,12407665,12839831,12839902,13030930,13014690,13015743,12849864,12860844,12839435',','); SELECT p.DefaultLocalWarehouse AS WID, rbwp.WareHouseName, rbwp.WareHouseType, p.SKU, p.CustomerID FROM RB_Product p(nolock) inner join #tbProductSku ts on p.SKU = ts.SKU LEFT OUTER JOIN dbo.RB_WareHouse rbwp WITH (NOLOCK) ON rbwp.ID = p.DefaultLocalWarehouse AND rbwp.CustomerID = p.CustomerID WHERE p.CustomerID=@CustomerID; drop table #tbProductSku; PARAMS:@CustomerID = 1 , MESSAGE:Violation of PRIMARY KEY constraint 'PK__#tbProdu__CA1ECF0C73F44BD0'. Cannot insert duplicate key in object 'dbo.#tbProductSku'. The duplicate key value is (13023671). The statement has been terminated. TRACE: 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() 在 System.Data.SqlClient.SqlDataReader.get_MetaData() 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) 在 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) 在 RB.DAL.DBOperator.Query(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms, Boolean IsWriteDB) 在 RB.DAL.DBOperator.toCommonTipException(SqlException ex, String sql, SqlParameter[] cmdParms) 在 RB.DAL.DBOperator.Query(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms, Boolean IsWriteDB) 在 RB.DALExtend.RB_ProductExtend.GetGetWarehouseInfoModels(Int32 customerID, List`1 skus) 在 PandaBuy.ERP.Web.IrobotBox.SalesAnalysis.BatchUpdateSalePrice.Page_Load(Object sender, EventArgs e) 在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) 在 System.Web.UI.Control.OnLoad(EventArgs e) 在 System.Web.UI.Control.LoadRecursive() 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 在 System.Web.UI.Page.ProcessRequest() 在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) 在 System.Web.UI.Page.ProcessRequest(HttpContext context) 在 ASP.irobotbox_salesanalysis_batchupdatesaleprice_aspx.ProcessRequest(HttpContext context) 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 在 System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error) 在 System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) 在 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) 在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) 在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) -------------------------------------------------------------
[结果]
[期望]