Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Loopning av tabell och anrop av mailprocedur

Postades av 2008-09-29 12:15:47 - Mikael Stoltz, i forum windows SQL server, Tråden har 3 Kommentarer och lästs av 1993 personer

Hej jag skulle vara tacksam för lite tips om hur jag kan lösa detta:

Jag ska uppdatera ett adressregister.
De företag som saknar en viss kod skall tilldelas en sådan.
Tilldelningen görs genom att: För de poster som saknar koden skall ett automat-mail för varje post generas för uppslagning som returneras och läggas in manuellt.

Det jag specifikt behöver hjälp med är hur man utformar en loop som genrerar automat-mailen på ett bra sätt. Ett mail per post som saknar den specifika koden.

Från en indata tabell "uppdaterad_lista as k" hämtas ny uppdaterad data som skall läggas in i
adressregistertabellen "addressRegister as ar" det finns en befintlig mail-procedur som anropas mailet skall innehålla kundnummret "kund_nr".

Exempelvis:

-- Hitta alla offentliga företag utan kundGrupp_nummer,

select k.[kund_nr]
from uppdaterad_lista as k
inner join addressRegister as ar
on k.[kund_nr] = ar.[CVR-nr]
where k.DOC_ID = @DOC_ID
and k.kundgrupp = 'offentligt' and ar.kundGrupp_number = ''

-- för varje träff skall ett mail genereras innehållandes @customerNumber = kund_nr

goto MAIL_NOTIFICATION -- mailet genereras av en procedur


-- Förenklat...
MAIL_NOTIFICATION:

Select @Message = '***** This is an automatic mail notification *****' + CHAR(10) +
'Please return the CustomerGroupNumber for the company,+ CHAR(10) +
'With Customer Number: ' + IsNull(@customerNumber, '')

EXEC @retcode = MESSAGES_SEND @DOC_ID, @Message

Tack på förhand.


Svara

Sv: Loopning av tabell och anrop av mailprocedur

Postades av 2008-09-29 13:29:39 - Tomas Granlund

Är det nåt sånt här du söker?

DECLARE @CustomerNumber int
DECLARE @Message nvarchar(MAX)
DECLARE @RetCode int
DECLARE cur CURSOR FAST_FORWARD FOR
	SELECT k.kund_nr, ... FROM ... WHERE ...

OPEN cur
FETCH NEXT FROM cur INTO @CustomerNumber
WHILE @@FETCH_STATUS = 0
BEGIN
	SET @Message = 'jopphejdi' + ISNULL(@CustomerNumber, '')
	EXEC @RetCode = MESSAGES_SEND @DOC_ID,  @Message 

	-- Alternativt nåt i stil med
	-- EXEC msdb.dbo.sp_send_dbmail
	--	@recipients = 'a@b.c',
	--	@body = @Message,
	--	@subject = 'test',
	--	@body_format = 'HTML';

	FETCH NEXT FROM cur INTO @CustomerNumber
END

CLOSE cur
DEALLOCATE cur


Svara

Sv:Loopning av tabell och anrop av mailprocedur

Postades av 2008-09-29 13:53:18 - Mikael Stoltz

Tack för ditt svar Tomas!
Jo jag antar att jag får köra en cursor. Tänkte inte på det eftersom alla varnar för prestandaproblem med cursors. Men det är antagligen inte många så många träffar per körning så det är kanske inte något större problem i det här fallet.
Tack igen!
/Mikael


Svara

Sv: Loopning av tabell och anrop av mailprocedur

Postades av 2009-02-16 19:40:08 - Jimmy Thulin

Sätt in resultatet med mailadresser i en temptabell eller i en tabellvariabel. Ta sedan en count på antal rader, iterera sedan med while:

WHILE currentRow <= rowCount
BEGIN
SendMail
END

Så enkelt är det, slipper man använda cursors.


Svara

Nyligen

  • 11:13 Online Kasino
  • 17:57 Vart är SEO på väg till 2030?
  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 661
27 954
271 713
5 548
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies