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


trigger i SQL *LÖST* :-)

Postades av 2002-05-24 15:09:22 - Karin Svensson, i forum sql-server/msde, Tråden har 10 Kommentarer och lästs av 1177 personer

Hej!
Jag skulle vilja göra en trigger som:

när jag uppdaterar en kolumn i en databas skickar iväg (exporterar) en flatfil (textfile) till en mapp utanför. Flatfilen ska byggas på en fråga. Är det möjligt att göra det? (har sql server 2000 standard edition)

vänliga hälsningar Karin






Svara

Sv: trigger i SQL

Postades av 2002-05-24 16:33:12 - Tommy Winberg

Förstår inte riktigt vad du vill uppnå men så här kan du i vart fall låta en trigger skriva till en fil.

<code>
create trigger trgCustomerUpdate
on dbo.Customers
after update as

declare @out nvarchar(4000)
select @out = 'Skrivs i filen'

select @out = 'echo ' + @out + ' >> C:\temp\out.txt'
exec master..xp_cmdshell @out, NO_OUTPUT
</code>

/Tommy


Svara

Sv: trigger i SQL

Postades av 2002-05-24 16:58:51 - Karin Svensson

Jo, det är såhär:

Jag har en databas för artiklar och när en av kolumnerna, som heter Antal, uppdateras och ett av värdena där sjunker under säj 5, ska en flatfil genereras från sql server till en mapp utanför.

Denna mapp i sin tur är receivemapp för en biztalkserver och flatfilen kan därför inte ligga där hela tiden utan bara när det blir dags, alltså när värdet har sjunkit under 5. (För sedan ska flatfilen omvandlas till en order som skickas iväg till en leverantör, och man ska bara beställa ny vara när det finns mindre än 5 stycken av något kvar).

Mvh Karin


Svara

Sv: trigger i SQL

Postades av 2002-05-24 17:21:08 - Tommy Winberg

Då tror jag att du skall ta en titt på Data Transformation Services (DTS). Eller schemalägga ett vbscript om det inte tidskritiskt på sekunden.

Det går säkert att göra med bara SQL men blir troligen lättare att göra och underhålla med något mer uttrycksfullt språk/verktyg.

Förmodligen vill du väl kolla att du inte redan skickat beställning mm. Möjligen skall du låta triggern göra en insert till en att-beställa tabell eller så, t ex i triggern:

<code>
insert ToPurchase (ProductID)

select ProductID from inserted
where StockQty < 5
</code>

/Tommy


Svara

Sv: trigger i SQL

Postades av 2002-05-24 21:49:43 - Karin Svensson

så du menar att det är inte möjligt att göra en trigger som fixar att en export av en flatfil (byggd på en förutbestämd fråga) till en mapp görs?

men om det går... hur skulle det se ut i kod då?
/Karin


Svara

Sv: trigger i SQL

Postades av 2002-05-24 23:27:43 - Tommy Winberg

Jo, visst går det. Det första trigger exemplet visar ju hur man kan skriva till en fil. Det är bara att fylla @out variabeln med det du vill exportera.

Det jag menade är att du kanske har fler affärsregler än att filen skall skapas varje gång lagersaldot är under 5. T ex så kommer den generera ytterliggare en beställning när saldot går från 4 till 3 osv. Något som säkert går att fixa i SQL men är förmodligen enklare med vb.

Då kan det vara mer lämpligt att skriva affärslogiken i t ex vb och nöja sig med att logga att beställningspunkten är nådd med triggern.

/Tommy


Svara

Sv: trigger i SQL

Postades av 2002-05-24 23:47:05 - Karin Svensson

Jo du har helt rätt....ska egentligen bara göra en enkel demo, men borde kanske tänka till lite mer :-)
Tack!!
/Karin


Svara

Sv: trigger i SQL

Postades av 2002-05-25 00:35:32 - Karin Svensson

Provade att göra triggern så här

<code>
create trigger trgUppdatera
on dbo.Artikeldb
after update as

declare @out nvarchar(4000)
execute query @out = 'SELECT Artikelgrupper.Artikelgruppsnr, Artikelgrupper.Artikelgruppsnamn, Artiklar.Artikelnr, Artiklar.Artikelnamn, Artiklar.Antal,
Artiklar.Inkopspris
FROM Artikelgrupper INNER JOIN
Artiklar ON Artikelgrupper.Artikelgruppsnr = Artiklar.Artikelgruppsnr
if Antal<5'

select @out = 'echo ' + @out + ' >> C:\BizTalkTest\out.txt'
exec master..xp_cmdshell @out, NO_OUTPUT
</code>

men fick felmeddelandet: Invalid object name 'dbo.Artikeldb'.

trodde väl inte riktigt att det var rätt men...
Databasen heter dock Artikeldb.


+ en annan sak, när jag exporterar en flatfil så bestämmer jag att den ska se ut t ex
file type: ansi
row delimiter: {CR}{LF}
column delimiter: tab
text qualifier: none

hur kan jag fixa det när jag skapar filen genom triggern??

Mvh/Karin


Svara

Sv: trigger i SQL

Postades av 2002-05-28 01:32:00 - Tommy Winberg

Vänta nu lite...

create trigger trgUppdatera on TabellÄgare.TabellNamn...

Med "execute query..." försöker du alltså köra lagrade proceduren "query" med @out variabeln som parameter samtidigt som du försöker tilldela den ett strängvärde som ej avslutas rätt... och inte verkar vara korrekt sql.

Det finns inte stort hopp om att få den triggern att kompileras.

För att bygga upp @out variabeln med information från flera rader måste du använda en cursor.

Ta mitt råd, hacka ett vbscript som körs var femte minut eller så. Kanske skapa en enkel trigger om själva sökningen av artiklar med färre än fem i lager är tung. Finns det inte funktionalitet i BizTalk-servern för schemaläggning etc?

/Tommy


Svara

Sv: trigger i SQL

Postades av 2002-05-28 12:37:55 - Karin Svensson

hej igen

Jo det du skrev i början att
låta triggern göra en insert till en att-beställa tabell eller så, t ex i triggern:
<code>
insert ToPurchase (ProductID)

select ProductID from inserted
where StockQty < 5
</code>

lät som en bra idé, och sen kan jag då göra en trigger till som lägger en fil i inputmappen till BizTalkservern, t ex när det finns två poster i att-beställa tabellen, eller hur?


Det borde bli den enklaste lösningen va?
mvh/Karin


Svara

Sv: trigger i SQL

Postades av 2002-05-30 17:00:06 - Karin Svensson

jag exporterar ett tabellinnehåll, ett dts package som lagras i SQL,

och som jag vill skicka ut som textfil när en kolumn; Antal<5, är det då möjligt att göra en trigger som skickar hela dts package när kolumnen Antal uppdateras så att det blir minder än 5 st.

Det fungerade med dts-paketet, en stored procedure och triggern....om någon någon gång vill veta hur ..hör av dig!

mvh/Karin







Svara

Nyligen

  • 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
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 616
27 953
271 709
5 803
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