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 1358 게시물 읽기
No. 1358
사용자 정의 함수 관련 질문입니다. 고수님들 제발~~
작성자
바보
작성일
2004-06-02 17:43
조회수
2,825

고수님들 사용자 정의 함수를 만들고 있는데 도저히 안되는 것이 있어서 질문을 올립니다.

멍청하다고 비웃는것은 상관없으니 지발 답을 구해 주소서~~~

질문의 요지는 함수 파라메터의 조건에 따라서 sql문이 바뀌는 것인데 어떻게 해도 먹질 않네여~~

도와 주소서~~~!!

CREATE FUNCTION UF_GetSum(@V_factory varchar(20),@V_Line_id varchar(30),@V_oper varchar(30),@V_para varchar(100),@V_Chart_no varchar(100),@V_equip_model varchar(100),@V_equip_id varchar(100),@V_vendor varchar(100),@V_Materal varchar(100),@V_search_period_type varchar(1),@V_search_period_from varchar(100),@V_search_period_to varchar(100),@V_spc_flag varchar(1))
RETURNS varchar(20)
AS
BEGIN

Declare @UF_GetSum varchar(20),@Sql VARCHAR(1000)
SET @Sql = N' select '
+ ' Sum(b.test_val) as sum '
--+ ' INTO :'+@UF_GetSum
+ ' from spc_data a, spc_data_sample b '
+ ' where a.test_time=b.test_time'
+ ' and a.lot_id = b.lot_id '
+ ' and a.use_flag = Y '
+ ' and b.use_flag=Y'
+ ' and a.factory =' + @V_factory
+ ' and a.line_id =' + @V_Line_id
+ ' and a.oper =' + @V_oper
+ ' and a.para =' + @V_para
+ ' and a.chart_no =' + @V_Chart_no

IF (@V_equip_model <> '')
BEGIN
Set @Sql = @Sql + ' and a.equip_model =' + @V_equip_model
END

IF (@V_equip_id <> '')
BEGIN
Set @Sql = @Sql + ' and a.equip_model =' + @V_equip_id
END

IF (@V_vendor <> '')
BEGIN
Set @Sql = @Sql + ' and a.vendor =' + @V_vendor
END

IF (@V_Materal <> '')
BEGIN
Set @Sql = @Sql + ' and a.vendor =' + @V_Materal
END

IF (@V_search_period_type = 'D')
BEGIN
Set @Sql = @Sql + ' and a.test_year+a.test_month+a.test_day between =' + @V_search_period_from + ' and ' + @V_search_period_to
END

IF (@V_search_period_type = 'W')
BEGIN
Set @Sql = @Sql + ' and a.test_year+a.test_work_week between =' + @V_search_period_from + ' and ' + @V_search_period_to
END

IF (@V_search_period_type = 'M')
BEGIN
Set @Sql = @Sql + ' and a.test_year+a.test_month between =' + @V_search_period_from + ' and ' + @V_search_period_to
END

IF (@V_search_period_type = 'Q')
BEGIN
Set @Sql = @Sql + ' and a.test_year+a.test_month between =' + @V_search_period_from + ' and ' + @V_search_period_to
END

IF (@V_spc_flag <> '')
BEGIN
Set @Sql = @Sql + ' and a.spc_flag =' + @V_spc_flag
END

--EXECUTE @Sql
DECLARE AllDatabases CURSOR for

@Sql


OPEN AllDatabases


FETCH NEXT FROM AllDatabases INTO @UF_GetSum
WHILE (@@FETCH_STATUS = 0)
BEGIN
FETCH NEXT FROM AllDatabases INTO @UF_GetSum
END

CLOSE AllDatabases
DEALLOCATE AllDatabases

RETURN @UF_GetSum
END

[Top]
No.
제목
작성자
작성일
조회
1361스케쥴러 에러 발생 문제(고수분들의 많은 답변 기다리겠습니다. please~~)
정말궁금
2004-06-03
2664
1360사용자가 EM 접속시 [보안]-[로그인]에서 사용자목록을 못보도록 하려면?
초궁금
2004-06-03
2276
1359PROC작성시 테이블명을 변수로 정할수 있는지요? [1]
카라
2004-06-03
3316
1358사용자 정의 함수 관련 질문입니다. 고수님들 제발~~
바보
2004-06-02
2825
1357EM에서 데이터 내보내기시 에러
최규필
2004-06-02
2318
1355DB 생성과 유저 생성
꼬마
2004-06-02
2769
1354mysql.sock error
qjfl
2004-05-29
2347
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다