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 1549 게시물 읽기
No. 1549
procedure 실행후 로그
작성자
김민영(visionmcoj)
작성일
2004-09-13 17:19
조회수
5,658

procedure 를 OS 의 예약작업에 걸어서 일배치로 돌리고 있는데요

로그를 남기게 했습니다.

 

그러면 다음과 같이 에러가 없을때는 로그가 남습니다. (4개 행이 추가되었을때.)

 

1> 2> 3> Begin User_register at 2004-09-13 17:14:34.233

1> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18> 19> 20> 21> 22> 23> 24> 25> 26> 27> 28> 29> 30> 31> 32> 33> 34> 35> 36> 37> 38> 39> 40> 41> 42> 43> 44> 45> 46> 47> 48> 49> 50> 51> 52> 53> 54> 55> 56> 57> 58> 59> 60> 61> 62> 63> 64> 65> 66> 67> 68> 69> 70> 71> 72> 73> 74> 75> 76> 77> 78> 79> (1개 행 적용됨)
(1개 행 적용됨)
(1개 행 적용됨)
(1개 행 적용됨)

여기서요 1>2>3> 이런게 뭔지.. 행번인지..

그렇다면 행번을 로그에 남지 않게 하는 방법없을까요?

 

이 글에 대한 댓글이 총 6건 있습니다.

글쎄요.

procedure의 내용을 확인해야 더욱 구체적인 답변을 줄 수 있을듯한데요.

(proc의 내용을 본다고 해서 답을 드릴수 있을런지 ㅡ.ㅡㅋ)

 

여리님이 2004-09-13 18:30에 작성한 댓글입니다. Edit

 '1>2>3>' 은 실행 확인을 위한 디버깅 코드로 print나 select 문을

 이용하여 중간에 출력하신 것 같네요.

소스 코드 중간에 print나 select를 문을 검색하셔서,

필요한 내용인지 확인해 보세요..

 

그리고 '(1개 행 적용됨)'은 적용된 행번호를 출력하는 것으로

SET NOCOUNT ON 을 사용하시면 됩니다.

특히 이부분(SET NOCOUNT ON  사용)은 임시테이블을 사용하는

SP를 ASP에서 결과집합을 가져올 경우, 내용을 가져오지 못하는

경우에 사용하시면 에러를 해결할 수 있습니다.

가을남자님이 2004-09-13 23:19에 작성한 댓글입니다. Edit

잘 알았습니다. ^^ 고맙습니다.

 

그런데 select 부분이 procedure 내에 있기는 한데요.

select 결과를 받아서 그것을 변수로 사용하기 때문에 select 문은 사용할 수 밖에 없는 상황입니다. --;

 

이런 상황에서 행번 출력을 못하게 할수는 없겠죠? ^^

김민영(visionmcoj)님이 2004-09-14 09:53에 작성한 댓글입니다.
이 댓글은 2004-09-14 09:55에 마지막으로 수정되었습니다.

단순히 변수 저장이라면, 내용이 화면상에 출력되지 않습니다.

혹시 그 프로시져에서 다른 프로시져를 호출하지 않나요?

만약 있다면 그쪽도 확인해 보세요...

가을남자님이 2004-09-14 10:34에 작성한 댓글입니다. Edit

네.. 호출합니다. ^^; 많이..

다 옮기려니 너무 많구요.. 그냥 변수선언부 실행부.. 그냥 하나씩만 갖다 붙여봅니다.

Procedure : [USER_REG_JOBTEST]

 

CREATE PROCEDURE USER_REG_JOBTEST

 

-- 공통 변수 선언
@pkGUID uniqueidentifier, 

@pkGUID6 uniqueidentifier, 
@pkGUID3 uniqueidentifier, 

@pkGUID7 uniqueidentifier, 
@pkGUID8 uniqueidentifier, 

@pkGUID9 uniqueidentifier, 

 

@RC8 int,
@queueGUID uniqueidentifier,

 

 

select @cnt=count(PMAGT.AGENT_ID)
from HR_AGENT PMAGT
where PMAGT.emplymt_yn='1'
   and not exists (select 1 from T_user TU where PMAGT.AGENT_ID=TU.userLogin)
    and PMAGT.agent_id is not null

 

select @pkGUID3=newid()

 

EXEC @RC2 = [mcoj].[dbo].[P_ADD_M] @pkGUID3, @userLogin2, @pkGUID7, '1', @ActivityGUID
EXEC @RC8 = [mcoj].[dbo].[P_ADD_Q] @pkGUID3, @pkGUID3, '81908'

 

If @@error<>0

begin
 print 'Unexpected error occurred: '
 + convert(varchar, @@Error)
 
 return 1
end

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

이렇게 procedure 실행하고 나면

[ user_reg_exec.sql ] 을 osql 로 실행하고 있습니다.

 

SET NOCOUNT ON
GO

PRINT 'Begin User Register at '+RTRIM(CONVERT(varchar(24),GETDATE(),121))+' '
PRINT ''
go

DECLARE @RC int
DECLARE @pkGUID uniqueidentifier
DECLARE @pkGUID6 uniqueidentifier
DECLARE @pkGUID3 uniqueidentifier
DECLARE @pkGUID7 uniqueidentifier
DECLARE @pkGUID8 uniqueidentifier
DECLARE @pkGUID9 uniqueidentifier
DECLARE @name nvarchar(50)
DECLARE @parentGUID uniqueidentifier
DECLARE @banner nvarchar(1000)
DECLARE @ActivityGUID uniqueidentifier
DECLARE @IsSystemCreated bit
DECLARE @userLogin nvarchar(16)
DECLARE @ScheduleId int
DECLARE @PKId int
DECLARE @Email nvarchar(100)

 

-- 매개 변수 값 설정
EXEC @RC = [mcoj].[dbo].[USER_REG_JOBTEST] @pkGUID, @pkGUID6, @pkGUID3, @pkGUID7, @pkGUID8, @pkGUID9, @name, @parentGUID, @banner, @ActivityGUID, @IsSystemCreated, @userLogin, @ScheduleId, @PKId, @Email, @userGUID, @permissionId, @companyGUID,

 

이런식이에요.

 

 

이렇게 하다보니 proc 안에서 또 proc를 호출하는 식이되고 있네요.

김민영(visionmcoj)님이 2004-09-14 10:57에 작성한 댓글입니다.
이 댓글은 2004-09-14 10:58에 마지막으로 수정되었습니다.

로그에서 다음과 같은것을 없애는 방법을 알았습니다.

osql 로 수행해서 output 을 남기면 나왔던 행번이었는데요

 

osql 수행 시, -n 옵션을 주니까 행번이 사라지네요. ^^

 

1> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18> 19> 20> 21> 22> 23> 24> 25> 26> 27> 28> 29> 30> 31> 32> 33> 34> 35> 36> 37> 38> 39> 40> 41> 42> 43> 44> 45> 46> 47> 48> 49> 50> 51> 52> 53> 54> 55> 56> 57> 58> 59> 60> 61> 62> 63> 64> 65> 66> 67> 68> 69> 70> 71> 72>
김민영(visionmcoj)님이 2004-09-14 15:09에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1552[질문] 컬럼의 사라짐의 문제
정회훈
2004-09-15
2372
1551[질문] SQL문 좀 부탁 드립니다. [1]
최병련
2004-09-14
2291
1550MS-SQL에서 MYSQL의 zerofill과 같은 역할을 하는건 없나요. [1]
조성일
2004-09-14
3130
1549procedure 실행후 로그 [6]
김민영
2004-09-13
5658
1548[질문] CREATE 작성시 NULL 값 항목을 뒤로 빼는 것이 좋은 가요? [진행중] [2]
김찬수
2004-09-13
2628
1547Datediff 대신에 쓸 수 있는 query문이 무엇일까요 [1]
이민
2004-09-13
2905
1546초보자입니다!!
김종갑
2004-09-12
2160
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다