Új hozzászólás Aktív témák
-
-
nyunyu
félisten
válasz
RedHarlow
#4904
üzenetére
Fizikailag belefűzni a sorvége karakter(eke)t a stringbe?
desc=desc || chr(13) || chr(10) || 'Adat: 1200'
Feltéve, ha Windows stílusú stringekkel dolgozol, ami CR+LF (\r\n)-rel van terminálva.
Unix/linux vonalon elég lehet a chr(13) (CR, \r), mac esetén a chr(10) (LF, \n) is -
-
nyunyu
félisten
válasz
RedHarlow
#4712
üzenetére
Ezt a Teradata féle joinnal bővített UPDATE szintaxist semelyik másik DB kezelő nem ismeri, nem tudsz így másik tábla alapján updatelni.
Oracle elég körülményesen tud hasonlót, SET+WHERE mögé írt alselecttel, de annak a pontos szintaxisára nem emlékszem, de arra igen, hogy amihez nem talál értéket, ott szimplán NULLlal felülírja a többi sort.

Valami ilyesmi lehetett:
UPDATE t1
SET t1.column=(SELECT column FROM t2 WHERE t2.id=t1.id)
WHERE t1.id IN (SELECT id FROM t2);(Teradata csak a joinnal megtalált sorokat updateli, többit békén hagyja!)
Legtisztább megoldás erre a szabványos MERGE utasítás:
MERGE t1
USING (SELECT id,
column
FROM t2) t2
ON (t2.id = t1.id)
WHEN MATCHED
THEN UPDATE SET t1.column = t2.column;Hmm, még alselect se kell az USING mögé, direktben is mehet a t2, ha a joinon kívül nem kell semmi bonyolultat csinálni vele:
MERGE t1
USING t2
ON (t2.id = t1.id)
WHEN MATCHED
THEN UPDATE SET t1.column = t2.column; -
rum-cajsz
őstag
válasz
RedHarlow
#4208
üzenetére
ha linuxot használsz, annak van egy nagyon jó ütemezője a cron. Azzal gyakorlatilag bármilyen ütemezést be tudsz állítani. Bár az excel és a mail küldés még külön programot igénylenek.
A szkriptet kell megírnod egyedül, kell egy oracle kliens, amiben sqlplus programot tudod parancssorban használni. pl. ez minden óra 27 perckor lefut
cron bejegyzés:27 * * * * /home/user/sqlscript/napifutas.shnapifutas.sh
ScriptHome="/home/user/sqlscript"PwFile="$PasswdHome/jelszo.txt"secret=UserName/$(< $PwFile)@adatbazissqlplus -s <<EOF$secret@$ScriptHome/sajatscript.sqlEOF -
Louro
őstag
válasz
RedHarlow
#4205
üzenetére
Hogy konkrétabb legyek (TSQL megoldás):
IF DAY(GETDATE()) = 1
BEGIN
--Leválogatás kitétele
EXEC master.dbo.xp_cmdshell 'sqlcmd -S "SERVERNAME" -d ADATBÁZISNÉV -E -o "C:\Windows\System32\passwords.txt" -Q "SELECT * FROM table" -W -w 999 -s";" '--Emailküldés
DECLARE @HTML VARCHAR(2000);SET @HTML = 'Ide azt pakolsz, amit szeretnél' ;
EXEC msdb.dbo.sp_send_dbmail
@recipients = 'címzett@itcafe.hu',
@subject = 'Tárgy',
@file_attachments = N'C:\Windows\System32\passwords.txt',
@body = @HTML,
@body_format = 'HTML';
ENDBeteheted napi futásba is, nem fogja elvinni az erőforrást. Vagy kihagyod az IF-es részt és a Schedule részben megadod, hogy minden hónap első napján fusson le.
Persze igényesebb megoldás lenne SSIS Package-be tenni. De feladat méretétől függ. Az apró lekérdezéseket inkább így oldom meg.
-
Louro
őstag
válasz
RedHarlow
#4205
üzenetére
Környezet? Oracle, SSMS, .... ? Ez eléggé függ attól.
Röviden azt mondanám általánosságban, hogy legyen egy IF elágazás, ahol megmondod, hogy az aktuális nap a hónap első napja, akkor fusson el, különben ugorja át. Majd ezt az egészet egy package-be
Én TSQL-lel is pakolok olykor ki, bár tudom, hogy nagyon retro és inkább SSIS kellene, de lusta vagyok egy exportra package-et készíteni
Új hozzászólás Aktív témák
- Samsung Galaxy Felhasználók OFF topicja
- Assetto Corsa Rally
- Melyik tápegységet vegyem?
- Ilyen olcsó sem volt még egy Apple notebook
- Samsung Galaxy S25 - végre van kicsi!
- Path of Exile (ARPG)
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- exHWSW - Értünk mindenhez IS
- Samsung Galaxy S24 - nos, Exynos
- 5.1, 7.1 és gamer fejhallgatók
- További aktív témák...
- ÚJ Lenovo LOQ 17IRX10 - 17.3"FHD 165Hz - i7-13650HX - 24GB - 1TB - RTX 5060 - Win11 - 3 év gari - HU
- Garmin Marq 2 Adventurer Garanciális (2026.04.), ÚJ gyári szíjakkal, Full Set
- SMAILIO HD 5" GPS autós navigáció
- HP ELITE 8000 SFF PC: passzív VGA HDMI, C2D E8400 + 4GB RAM
- DJI Air 3s drón akkumulátor és Fly More Akkumulátor Kit - 2 akku, töltőHUB
- Szép állapotban Lenovo ThinkPad T14s Gen 4 i5-1335u/16 GB/256 SSD/FHD+/IPS/Garancia 2027
- PlayStation 5 Slim (lemezes) + kontroller 2027.12.17-ig garancia, számlával!
- HIBÁTLAN iPhone 15 Pro 128GB Natural Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS4384
- ÁRGARANCIA! Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- DDR5 8/ 16/ 32GB 4800-5600MHz UDIMM PC RAM, több db- számla, garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
)

