데이터베이스에 10 개의 필드가 있고 UI 페이지에 10 개의 다른 버튼이 있습니다. 데이터베이스 필드를 개별적으로 업데이트하려고합니다. 1 버튼을 클릭하면 한 필드를 업데이트하고 다른 필드는 두 번째로 업데이트합니다. 단 하나의 SQL 업데이트 쿼리 만 사용합니다. SQL 서버 2008 에서 가능합니까? 그렇다면 친절하게 제안하십시오.단일 SQL 쿼리로 여러 유형의 값으로 여러 행을 업데이트
Thnx
데이터베이스에 10 개의 필드가 있고 UI 페이지에 10 개의 다른 버튼이 있습니다. 데이터베이스 필드를 개별적으로 업데이트하려고합니다. 1 버튼을 클릭하면 한 필드를 업데이트하고 다른 필드는 두 번째로 업데이트합니다. 단 하나의 SQL 업데이트 쿼리 만 사용합니다. SQL 서버 2008 에서 가능합니까? 그렇다면 친절하게 제안하십시오.단일 SQL 쿼리로 여러 유형의 값으로 여러 행을 업데이트
Thnx
이
UPDATE yourtable set
field1 = COALESCE(@Button1Param, field1),
field2 = COALESCE(@Button2Param, field2),
...
field10 = COALESCE(@Button10Param, field10)
WHERE Your filter clause
을 시도하고 Button1을 누르면 = DBNull.Value가
그래서, 당신은 사용하지 않은 다른 사람을 떠나, 단지 쿼리 @ Button1Param 매개 변수에 대한 값을 제공 동적 또는 다른 여러 검색어 :
동적 SQL을 통해서만, 그리고 그다지 사소한 것은 아닙니다.
당신은 (특히 사용자의 요구 사항을 요구하지 않는 한) 그러나 이것은 정말 나쁜 디자인 그래서 쿼리에
DECLARE @SQL = NVARCHAR(MAX)
SET @SQL = 'UPDATE [db].[dbo].[table] SET ' + @__upd_button_col + ' = ''' + @__upd_button_Value + ''' WHERE ID = ''' + @__upd_ID + ''''
sp_executesql @SQL
처럼 보일 것, 그것이 표현하는 열을 말한다 각 버튼에 부착 된 코드가 필요합니다. 10 개의 필드를 편집 한 다음 응용 프로그램에서 버튼을 한 번만 클릭하고 모든 열을 한꺼번에 업데이트하지 않는 이유는 무엇입니까?