데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

상황은 이렇습니다.

view1 이라는 이름을 가지는 view가 있습니다.

해당 view는 select aaa,bbb,ccc from table1 의 구문을 가지고 있습니다.
사이트 운영중 정책이 변경되어서 table1을 부를지 table2를 부를지 유동적인 상황이 되었습니다.
table1과 구조가 같은 테이블이 n개가 생성되거든요.

그래서 view1내부의 쿼리문을 변경하려고 생각했습니다.
들어오는 인자값에 따라서 view1의 sql 구문중
select aaa,bbb,ccc from table1 의 부분을 수정하려고 했습니다.

헌데 view에서는 인자를 받을 수가 없더라고요.
그래서 테이블을 반환하는 사용자 함수를 만들어서 거기서 인자를 받은 후 사용하면 되겠다고 생각 했습니다.

그런데 테이블반환타입의 사용자 함수는 테이블명을 변수로 쓸 수 없더라고요;;

이런 상황을 해결할 방법이 없을까요?
충고 말씀 좀 부탁 드립니다.
감사합니다.


*)사용자함수는 다음과 같은 형식으로 만들려고 했습니다.
create function xxx.Selview(@c_no varchar(20))
returns @temp_table table
(
aaa varchar(20),
bbb varchar(10)
)
as
begin
declare @tablenm  varchar(50)
declare @sql varchar(3000)

select @tablenm = trans_tablenm from ttt where c_no = @c_no

set @sql = N' SELECT aaa,bbb from ' + @tablenm

insert into @temp_table exec (@sql)

return
end

*)해당함수를 작성하려고 실행버튼을 누르면 
'함수 내의 'INSERT EXEC'에서 파생 작업을 생성하거나 시간에 종속적인 연산자를 잘못 사용했습니다.'
라는 에러가 발생 합니다.
이 에러를 해결하려면 저장프로시저로 만들어야 한다는 글들이 있더라고요.
저는 저 쿼리의 결과를 그대로 join문에 쓰려고 하거든요...
No. Subject Author Date Views
9640 DB초보자, 최소값부터 최대값까지 증가 시키는 방법 [1] 꽃보다서준 2016.12.05 1949
9639 SQL Query 문의 입니다 [2] 손원일 2016.12.05 1522
9638 oracle 쿼리문 구성 관련 질문이 있습니다. 용크 2016.12.02 1509
9637 다음 쿼리를 홀수 짝수 구분하는 방법을 나머지로는 안되는건가요. 가리워진길 2016.12.02 3731
» 테이블 반환 함수에 대한질문 입니다. [2] icham 2016.12.02 2240
9635 월별 누적 Sql문의 [3] 안산님아 2016.12.02 4393
9634 쿼리문 질문좀요.. [1] sql은너무어려워 2016.12.01 1984
9633 쿼리 조언 좀 부탁 합니다. [2] 죠리퐁 2016.12.01 3513
9632 mssql > mysql 마이그레이션 중 mysql function(함수) 생성에 문제 [1] 보리언니지현 2016.11.30 3555
9631 mssql 해당월의 마지막주 월요일부터 금요일까지 구하는 방법좀 부탁드려요 [3] mssl왕초초초보 2016.11.29 3419
9630 영업일 구하기 함수좀 문의 합니다. [3] 아싸라비아콜롬비아 2016.11.29 4805
9629 asp 에서 저장프로시저를 호출해서 사용하려고 합니다. [1] DOOLLY 2016.11.29 2972
9628 MSSQL Server 에이전트 자동생성 takeee 2016.11.29 1864
9627 failover 방식 2중화 설정시 소프트 웨어 셋팅... 질문 장성원_305526 2016.11.29 2481
9626 SSMS 2016 버전을 설치 했는데 라이선스 메세지가 나오는경우 켜니 2016.11.25 3438
9625 22022에러 해결방법 없을까요? 천운 2016.11.25 3584
9624 쿼리 어떻게 짜야할까요 [2] 구구구니 2016.11.25 2357
9623 "해당 버전이 706이므로 열 수 없습니다...." 하는 에러와 함께 mdf 파일 연결이 되지 않습니다. 도와주세요...ㅠㅠㅠ [1] 난키군 2016.11.24 53201
9622 프로시저을 만들고 싶은데..어떻게 해야하는지요? [1] 슈토파이터 2016.11.24 2414
9621 ms server 2000이 ms server 2008 r2 보다 휠씬 빠른데 어떻게 된 건가요? [5] 신생 2016.11.24 2807





XE Login