2016-11-09 11 views
2

테이블에 레코드의 숫자에 해당하는 다수의 레코드를 삭제 레코드의 테이블 @workorders 및 현재 레코드의 값으로 레코드를 삭제하십시오.이 테이블이 쿼리에 의해 채워진다, 나는 테이블 변수가 <code>@workorders</code>라는이

내가 WorkOrders이라고 레코드를 삭제할 테이블,이 테이블은, 예를 들어 id_workorder라는 열이 있습니다

  • OT-001 : 변수 테이블을 가정

    @workorders 3 개 기록이 -16

  • OT-002-16
  • OT-005-16

테이블의 각 레코드를 얻으려면 @workorders 및 테이블의 각 레코드에 대해 WorkOrdersid_workorder = @workorders (id_workorder VARCHAR(100))(Current record)의 테이블을 삭제하려면 일종의 while 루프를 구현해야합니다.

+0

현재 레코드는 무엇을 의미합니까? 'workorders' 테이블에서 어떻게 식별합니까? –

+0

@vkp 다시 질문을 확인해 주시겠습니까? – TimeToCode

+1

테이블 변수에 통계가 없기 때문에 임시 테이블 ('# WorkOrders')이 일반적으로 테이블 변수 ('@ WorkOrders')보다 낫습니다. 자세한 내용은 https://blogs.msdn.microsoft.com/naga/2015/05/10/sql-server-performance-tuning-table-variable-vs-temporary-tables/ – mendosi

답변

3

DELETE 문에 INNER JOIN@workorders 테이블을 사용할 수 없습니까?

DELETE w 
FROM workorders w INNER JOIN @workorders tw ON w.id_workorder = tw.id_workorder 
+0

오 마이 갓, 나는 작은 벙어리. 고마워. – TimeToCode

+1

걱정할 필요가 없으며 때로는 다른 눈 쌍이 필요합니다. –