2015-01-20 3 views
0

VB.NET 응용 프로그램에서 전달 된 SQL Server (2008 R2)에서 사용자 정의 형식 (테이블)을 구현하고 싶습니다. 이는 쉼표로 구분 된 목록을 전달하는 대신에 사용되는 제네릭 형식입니다 (적어도 초기에는 ID 값이됩니다).사용자 정의 형식 변경

나중에 UDT를 수정해야한다고 결정되면 UDT를 사용하려고 시도하는 응용 프로그램 코드의 모든 부분을 변경해야합니까? 아니면 UDT nullable의 새 열을 만들어 이러한 작업을 수행해야 할 필요가 없습니까?

테이블에 새 열을 추가하려는 경우 새 열이 필요한지 여부에 관계없이이 UDT가 응용 프로그램에서 사용되는 모든 위치로 돌아가서 변경해야합니다.

답변

1

NULL 값을 허용하는 한 UDT에 열을 추가 할 수 있어야합니다.

응용 프로그램 코드까지는 호출하는 항목에 따라 다릅니다. 새 열에 데이터를 추가하려면 행을 삽입 할 코드를 변경해야합니다. 데이터를 검색하는 경우 새 열에서 데이터를 가져 오기 위해 코드를 변경해야합니다.

서버 측에서 UDT를 변경하려면 코드를 즉시 변경해야합니까? 너는 필요 없어. VB에서 SELECT 쿼리를 사용하면 각 쿼리 후에 각 열에 액세스해야하므로 추가 열이 코드에 영향을주지 않습니다. 행 삽입과 동일 : cmd.CommandText = "INSERT INTO 테이블 (field1, [field2, ...]) VALUES (value1, [value2, ...])"를 사용하는 경우 각 열에 특별히 레이블이 지정되고 추가 열 아니, NULL을 허용하지 않는 한 응용 프로그램에 영향을 미치지 않아야합니다.

+0

질문을 명확히 하겠지만, 이것은 쉼표로 구분 된 목록을 보내거나 단일 원자 작업에 대해 여러 DB 호출을 작성하는 대신 목록을 저장 프로 시저로 전달하는 데 사용됩니다. 따라서 궁극적으로이 UDT는 다양한 저장 프로 시저에 대한 입력 매개 변수로만 사용되며 나중에 매개 변수가 사용되는 모든 곳에서 수정할 필요가있는 열을 나중에 추가해야하는 경우가 있습니다. –

+0

추가 열을 입력에 추가하려면 저장 프로 시저를 수정할 수 있어야합니다. 'SELECT *,'newdata 'AS newCol FROM inputTable – blindguy

+0

아쉽게도 이것은 작동하지 않습니다. 유형을 변경하면 코드가 분리됩니다. 나는 테이블을 만들 때 유형을 쿼리하고 추가 열을 추가하는 솔루션을 발견했습니다. –