Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 24th, 2012  |  syntax: None  |  size: 1.64 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. SQL Server Issue with Update while using TVP
  2. DECLARE @tmpSelectedData   TABLE  -- table variable
  3.         (SlNo  INT IDENTITY(1,1) PRIMARY KEY
  4.          ,dataID INT NULL
  5.          ,ValID INT NULL
  6.          ,DdrID INT NULL
  7.          ,InrID INT NULL
  8.          ,IprID INT NULL)
  9.  
  10. -- inserting into table variable
  11. INSERT INTO @tmpSelectedData(dataID)  
  12.     SELECT
  13.         SQ.dataID    
  14.     FROM
  15.         @SelectedQuestions SQ
  16.  
  17.     -- Update the table variable with some values
  18.  
  19.     tblData
  20.        dataID,ValID,DdrID,InrID,IprID
  21.         1-    2-  3  - 4-   5
  22.         2-    7-  4  - 5-       8
  23.         3-    8-  2  - 4-       3
  24.         4-    0-  1  - 2-       5
  25.  
  26.     @SelectedData  
  27.         dataID
  28.          2
  29.          3
  30.          4
  31.  
  32.     @tmpSelectedData    
  33.         dataID,ValID,DdrID,InrID,IprID
  34.             2-    
  35.             3-    
  36.         4-    
  37.  
  38. UPDATE @tmpSelectedData  
  39. SET IprID = D.dataID,
  40.     DdrID = D.DdrID,
  41.     InrID = D.InrID
  42. FROM tblData D
  43. INNER JOIN @SelectedData SD ON SD.dataID = D.dataID
  44.        
  45. dataID,ValID,DdrID,InrID,IprID
  46.         2-    7-  4  - 5-       8
  47.         3-    8-  2  - 4-       3
  48.         4-    0-  1  - 2-       5
  49.        
  50. dataID,ValID,DdrID,InrID,IprID
  51.         2-    7-  4  - 5-       8
  52.         3-    7-  4  - 5-       8
  53.         4-    7-  4  - 5-       8
  54.        
  55. UPDATE @tmpSelectedData  
  56. SET dataID = D.dataID,
  57.     DdrID = D.DdrID,
  58.     InrID = D.InrID
  59. FROM tblData D
  60. INNER JOIN @tmpSelectedData SD ON SD.IprID = D.IprID
  61.        
  62. UPDATE @tmpSelectedData  
  63.    SET dataID = D.dataID,
  64.        DdrID = D.DdrID,
  65.        InrID = D.InrID
  66.   FROM tblData D
  67.  INNER JOIN @tmpSelectedData SD ON SD.IprID = D.IprID
  68.  WHERE SD.IprID In (SELECT IprID FROM @SelectedData)