자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Interbase 필드명을 동적으로 사용하는 방법
2016.07.08 11:58
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
모두 안녕하세요?
지금은 코딩으로 조건문을 만들어 사용하고 있는 부분이 있는데, 자주 사용되는 쿼리라서 Stored Procedure로 구성해보려 하는데 잘 안되네요. 고수님들의 조언을 부탁드립니다.
한 테이블 안에 F1, F2..F10의 10개 필드가 있고 모두 정수값을 갖고 있습니다. 어느 경우는 F1 필드값을, 어느 경우는 F2값이 필요한데 'Select :Field_Name from Table where ID =1 into :Value' 식으로 한 문장으로 처리하는 방법이 어떻게 하면 가능할지 모르겠습니다. SQL statement로도 해보고 ||:Field_Name||으로도 해보았는데 모두 동적으로 입력되는 필드명을 처리할 수 없습니다.
좋은 하루되세요.
Interbase 필드명을 동적으로 사용하는 방법
2016.07.08 11:58
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
모두 안녕하세요?
지금은 코딩으로 조건문을 만들어 사용하고 있는 부분이 있는데, 자주 사용되는 쿼리라서 Stored Procedure로 구성해보려 하는데 잘 안되네요. 고수님들의 조언을 부탁드립니다.
한 테이블 안에 F1, F2..F10의 10개 필드가 있고 모두 정수값을 갖고 있습니다. 어느 경우는 F1 필드값을, 어느 경우는 F2값이 필요한데 'Select :Field_Name from Table where ID =1 into :Value' 식으로 한 문장으로 처리하는 방법이 어떻게 하면 가능할지 모르겠습니다. SQL statement로도 해보고 ||:Field_Name||으로도 해보았는데 모두 동적으로 입력되는 필드명을 처리할 수 없습니다.
좋은 하루되세요.
MSSQL 일경우 다음과 같은 방법이 있을거 같습니다
1. 동적으로 sql문을 만들어서 하는 방법
declare
@sql nvarchar(1000),
@column nvarchar(100);
set @column = 'col1'
set @sql = 'select ' + @column + ' from table1'
exec sp_executesql @sql
2. CASE 문을 사용하는 방법
declare
@sql nvarchar(1000),
@column nvarchar(100),
@value nvarchar(100);
set @column = 'col1'
select
@value =
case @column
when 'column1' when column1
when 'column2' when column2
when 'column3' when column3
when 'column4' when column4
end
from table1
정확히 어떤경우때문에 그렇게 처리를 하는지는 모르겠으나 방법은 여러경우가 있을거 같습니다. 단, 속도등 여러 문제를 고여해서 최적의 방안을 찾아야 겠죠