database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 5492 게시물 읽기
No. 5492
[HELP]사용자 지정 함수 정의 중 동적쿼리 작성 가능 여부
작성자
김강철
작성일
2009-12-09 16:57
조회수
10,296

참 많이 고민하고 생각했는데 도저히 저의 능력으로는 답을 못찾을것 같아 이렇게 도움 요청 합니다..


사용자지정함수(스칼라값함수)정의중에 동적쿼리를 작성하여 해보려고 했는데 잘 안되네요..


문제가 무엇있지 모르겠습니다..


제의 질문은 아래와 같습니다~~ 도와주세요 ㅠㅠ


===============================================아래============================================

1. 함수에서 동적 쿼리는 사용할수 없는건가요?

2. 함수에서 SP_EXECUTESQL를 사용할수 없나요?

3. SP_EXECUTESQL를 사용할수 없다면 그 이유는 무엇일까요?

4. EXECUTE (내용) 과 EXECUTE  내용 의 차이는 무엇인가요?

    아래 예제에서 EXECUTE ()와 같이 갈호를 사용하는것은 에러를 발생시킵니다. 함수내에서 다른 함수를 호출할수 없다는건가요... 그저 다이나믹 쿼리를 실행하는거로 

    사용했는데....

    

    EXECUTE 에서 갈호를 사용했을때 에러 : 함수 내의 'EXECUTE STRING'에서 파생 작업을 생성하거나 시간에 종속적인 연산자를 잘못 사용했습니다.


P.S 제가 아직 mssql 을 한지 얼마 안되서 잘 모르겠습니다. 혹시 이론적으로 모르는것 같은 부분은 지적해주세요 도움말 보고 열심히 공부하겠습니다.


=============================================함수원문==========================================

alter FUNCTION [dbo].[FN_GetYNToClsAcct2]

(

    @DATE CHAR(8)


RETURNS VARCHAR(1)

AS

BEGIN

 DECLARE @OUTPUT_VALUE VARCHAR(1)

   

 DECLARE @QUERYSTR     VARCHAR(8000)

 DECLARE @TABLE_NAME   VARCHAR(40)

 DECLARE @COLUMN_NAME   VARCHAR(40)

 

 SET @TABLE_NAME ='LMD_ACCT'

 SET @COLUMN_NAME ='ACCT_NO'

 SET @QUERYSTR = 

'SELECT ' + @OUTPUT_VALUE + ' = CASE WHEN COUNT(*) > 0 THEN ''Y'' ELSE ''N'' END

    FROM  ' + @TABLE_NAME   + ' 

   WHERE  ' + @COLUMN_NAME  + ' = ' + ' @ACCT_NO + '

    EXECUTE  @QUERYSTR

    RETURN(@OUTPUT_VALUE )

END

 

[Top]
No.
제목
작성자
작성일
조회
5495mssql2000 매개변수 오류
손님
2009-12-10
6068
5494mssql2008 미러링 구성에 대해서 문의 드립니다..
손님
2009-12-10
7147
5493view 사용시
julia
2009-12-10
6149
5492[HELP]사용자 지정 함수 정의 중 동적쿼리 작성 가능 여부
김강철
2009-12-09
10296
5491학생시간표 구하기
최대근
2009-12-09
5896
5490bak 파일 복원시 기존 db 에 추가하는 형식은 가능한가요?
yGun
2009-12-07
6047
5486제가만든 SearchAndReplace 한번 봐주세요. 튜닝이 필요할까요?
julia
2009-12-05
5954
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다