--exec P_TYAN_SERVICE_SITE_CHECK
ALTER 프로시저 [dbo].[P_TYAN_SERVICE_SITE_CHECK]
처럼
선언하다
@count 정수,
@객체 정수,
@hr 정수,
@rc 정수,
@출력 varchar(400),
@설명 varchar(400),
@소스 varchar(400),
@발신자 varchar(50),
@발신자 이름 varchar(50),
@서버주소 varchar(255),
@수신자 varchar(255),
@수신자이름 varchar(255),
@주제 varchar(255),
@mailbody varchar(8000)
--자동 이메일 시작
[dbo].[TYAN_SERVICE_SITE]에서 @count= count(*)를 선택합니다. 여기서 지역은 null이 아니고 cust_name은 null이 아니고 ship_location은 null이 아니고 국가는 null이 아니고 cust_no는 null이 아니며 (CUST_TYPE은 null이거나 SERVICE_SITE는 null입니다) )
if(@count!=0)
시작하다
@sender='AutoMail'로 설정
@sendername='자동 메일' 설정
@serveraddress='10.98.0.211'로 설정하세요.
--여기에 수신자 주소가 있습니다. 이 변수는 쓸모없어보이므로 마지막에 직접 추가하세요. 아래를 보세요 --------
@recipient ='' 설정
--제목----------------
@subject='메일' 설정
-------여기에 표시하려는 데이터가 있습니다. 시작---------
@mailbody=N'<html><head> 설정
</head><본문>
<p style="margin-bottom:12.0pt"><글꼴 크기=1 얼굴=Arial><span
lang=EN-US style="font-size:9.0pt;font-family:Arial">친애하는 선생님:<o:p></o:p></span></font></p>
<p style="margin-bottom:12.0pt"><글꼴 크기=1 얼굴=Arial><span
lang=EN-US style="font-size:9.0pt;font-family:Arial">이 새로운 Tyan을 유지해주세요
서비스 사이트:<o:p></o:p></span></font></p>
<table style="font-family:trebuchet ms;font-size: 10pt; border-collapse:collapse" cellpadding="2" bordercolor="black" border=1>
<tr bgcolor=주황색 정렬=가운데>
<td >지역</td>
<td >국가</td>
<td >CUST NO</td>
<td >사용자 이름</td>
</tr>'
--<td align=left>부서 이름</td>
선언하다
@str varchar(8000),
@AREA nvarchar(50),
@국가 varchar(50),
@CUST_NO varchar(50),
@CUST_NAME varchar(50),
@vcount 정수
시작하다
@vcount=1로 설정
@str='' 설정
c_at 커서 선언
을 위한
[dbo]에서 개별 지역,국가,cust_no,cust_name을 선택합니다.[TYAN_SERVICE_SITE] 여기서 지역은 null이 아니고 cust_name은 null이 아니며 ship_location은 null이 아니고 국가는 null이 아니고 cust_no는 null이 아니며 (CUST_TYPE은 null이거나 SERVICE_SITE는 null )
오픈 c_at
c_at에서 @AREA,@COUNTRY,@CUST_NO,@CUST_NAME으로 다음 항목 가져오기
동안(@@FETCH_STATUS = 0)
시작하다
@str=@str+'<tr align=center>'를 설정하세요
@str=@str+'<td >'+@AREA+'</td>' 설정
@str=@str+'<td >'+@COUNTRY+'</td>' 설정
@str=@str+'<td >'+@CUST_NO+'</td>' 설정
@str=@str+'<td >'+@CUST_NAME+'</td>' 설정
@vcount=@vcount+1 설정
c_at에서 @AREA,@COUNTRY,@CUST_NO,@CUST_NAME으로 다음 항목 가져오기
끝
-------표시하려는 데이터는 다음과 같습니다. 끝---------
닫기 c_at
c_at 할당 해제
끝
@mailbody = @mailbody+@str+'</table></body></html>' 설정
Exec @hr = sp_OACreate 'jmail.message', @object OUTPUT
Exec @hr = sp_OASetProperty @object, 'Charset', 'BIG5'
--@recipient --수신자의 이메일 주소---------------------------- ----- ---------------
Exec @hr = sp_OAMethod @object, 'AddRecipient',NULL,'메일 주소'
--Exec @hr = sp_OAMethod @object, 'AddRecipientBCC',NULL,'메일 주소'
Exec @hr = sp_OASetProperty @object, '주제',@subject
Exec @hr = sp_OAsetProperty @object, 'HTMLBody' ,@mailbody
Exec @hr = sp_OAsetProperty @object, '우선순위' , 1
@sender가 아닌 경우 null입니다.
Exec @hr = sp_OASetProperty @object, '보낸 사람', @sender
@sendername이 아닌 경우 null입니다.
Exec @hr = sp_OASetProperty @object, 'FromName', @sendername
--자동 이메일 시작
Exec @hr = sp_OAMethod @object, '보내기', null,@serveraddress
Exec @hr = sp_OAGetErrorInfo @object, @source OUTPUT, @description OUTPUT
if (@hr = 0)
시작하다
@output='오류 소스 설정: '+@source
인쇄@출력
@output = '오류 설명: ' + @description 선택
인쇄@출력
끝
또 다른
시작하다
'오류 정보를 얻지 못했습니다!'를 인쇄하세요. '
반품
끝
--JMail.Message 객체 릴리스
EXEC @hr = sp_OADestroy @object
--IF @시간 <> 0
--시작하다
-- EXEC sp_OAGetErrorInfo @object
-- 반품
--끝
끝
위의 저장 프로시저가 완료되었습니다.
첨부파일은 Ole 자동화 절차 개시입니다.
---Ole 자동화 절차 열기----
sp_configure '고급 옵션 표시', 1;
가다
재구성;
가다
sp_configure 'Ole 자동화 절차', 1;
가다
재구성;
가다
자신의 데이터를 기반으로 약간의 수정 후 사용하시면 됩니다. 이메일 보내기는 일반적으로 이메일을 정기적으로 보내는 SQL Server 에이전트 작업과 함께 사용됩니다.
이 기사는 CSDN 블로그에서 가져온 것입니다. 재인쇄할 때 출처를 표시하십시오: http://blog.csdn.net/liaolian9948/archive/2009/12/31/5110313.aspx
-