Hirdetés

2024. május 1., szerda

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  SQL kérdések (kiemelt téma)

Hozzászólások

(#3001) bambano válasza PumpkinSeed (#3000) üzenetére


bambano
titán

milyen sql?
postgresql-nél a memóriák méretének növelése segít, illetve ha nem szabvány sql-t dumpolsz, hanem a saját dump formátumát, és akkor az gyorsabb.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#3002) PumpkinSeed válasza bambano (#3001) üzenetére


PumpkinSeed
addikt

mysql

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#3003) half333


half333
őstag

Üdv! Tudna vaki megoldást erre: [link]
windows 10 alatt. Mindent e szerint csináltam: [link]

(#3004) Peter Kiss válasza half333 (#3003) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Valószínűleg a beállított user-nek nincs joga írnia abba a könyvtárba, amit az SQL Server-nek választottál.

(#3005) half333 válasza Peter Kiss (#3004) üzenetére


half333
őstag

Tudnál segiteni a kiküszöbölésben,h pontosan hogyan kellene? A munkámhoz kell.

(#3006) half333


half333
őstag

Üdv! Feltettem az sql server 2014-et. Mindent ugy csináltam ahogy a youtube-on láttam,de mikor csatlakozni szeretnék (ms sql server management studio) a server name-nél nem ir semmit,ill.nem lehet választani. Hogyan tudnák csatlakozni? Fontos lenne! Előre is köszi!

(#3007) martonx válasza half333 (#3006) üzenetére


martonx
veterán

SQL 2000 után SQL 2014? Elég erős váltás :D
Server name-nél alapból nem ír ki az SSMS semmit, mivel hehe, neked kell beírnod, hogy mégis melyik szerverhez szerenél kapcsolódni. Localban ez localhost, vagy csak simán '.'
Utána, amikhez már sikeresen kapcsolódtál, akkor azokat a server name-eket megjegyzi, és alapból be fogja írni neked.

Én kérek elnézést!

(#3008) half333 válasza martonx (#3007) üzenetére


half333
őstag

nem tudom melyik sql serer lenne a legjobb ami fut win10 alatt. légyszi segitenél kicsit szájbarágósan elmagyarázni h pontosan hogyan csináljam? akárhol keresem nálam nem működik az a megoldás,meg ugye az angol se megy annyira h megértsem,magyarul meg nem találok semmit.

(#3009) half333 válasza martonx (#3007) üzenetére


half333
őstag

bocsi,semmi. sikerült elinditani. :)

(#3010) martonx válasza half333 (#3008) üzenetére


martonx
veterán

Bevallom évek óta nem futtatok elvből SQL szervert lokálisan, csak felhőből (esetemben Azure SQL). SSMS-t is csak a melóhelyen használok, kezdek egyre inkább átszokni a Visual Studio Data Tools-ra. De a 2,5 évvel ezelőtti emlékeim szerint az SQL Server 2012 telepítése win8 alá next-next-finish módon ment, szóval nagyon nem értem a problémádat.
Egészen biztos vagyok benne, hogy win10 + SQL Server 2014 (lehet, hogy időközben kijött a 2016 is?) telepítése is next-next-finish bonyolultságú, de most csak a te kedvedért nem fogok magamhoz SQL szervert telepíteni, csak hogy bizonyítsam az igazam.

Szóval nem értem milyen megoldást keresel, milyen problémára? Itt van egy mini tutorial, hogy hogy kell kapcsolódnod a szerverhez az SSMS-el: [link]

Szerk: mire megírtam a hosszú hsz-emet, látom sikerült is megoldanod. :)

[ Szerkesztve ]

Én kérek elnézést!

(#3011) half333 válasza martonx (#3010) üzenetére


half333
őstag

igen,a services.msc-ben kellett manuálisan elindítani. amúgy most meg az a probléma h ne tudom restoral-ni az adatbázist [link]

[ Szerkesztve ]

(#3012) martonx válasza half333 (#3011) üzenetére


martonx
veterán

SQL Server 2000-es backup-ot nem is fogsz tudni restore-olni annál újabb SQL Server-en. Ha nem túl nagy a db, akkor áthidaló megoldás lehet a script generálás, és a kigenerált scriptet betolod az új DB-be.

Én kérek elnézést!

(#3013) half333 válasza martonx (#3012) üzenetére


half333
őstag

xd,bocs,ennyire nem vagyok benne a témában. egy 15 mb-os bak fájlt kellene visszaállítanom. hogyan lehetséges?

(#3014) half333 válasza martonx (#3012) üzenetére


half333
őstag

Hát annyit tudtam meg h kiexportható majd vissza importálható az adatbázis,viszont nem tudom hogyan kell. Ehhez értesz valamit?

(#3015) martonx válasza half333 (#3013) üzenetére


martonx
veterán

Ha 15mb-os, akkor ahonnan kiexportáltad, ott fogod és scriptet generálsz, nem pedig DB Backup-ot csinálsz. A scriptedben nem lesz más, mint a db sémád, és egy rakás insert. Ez se lesz sokkal több, mint 16MB.
Aztán a scriptet fogod és lefuttatod az SQL Server 2014 alatt, és voilá.

Én kérek elnézést!

(#3016) half333 válasza martonx (#3015) üzenetére


half333
őstag

Nem igazán csináltam még ilyet,szóval fogalmam sincs h hogyan kell,viszont találtam megoldást az mssql server 2000 felrakására,minden okés,sikerült az adatbázist visszaállitani,viszont a service manager-nem lehet elinditani: a hozzáférés megtagadva - an error 5
Occured while performing this service operation on the mssqlserver

(#3017) Memphis


Memphis
tag

Sziasztok!

Szeretném a segítségeteket kérni. Én nem értek a programozáshoz, de lenne egy kérdésem tapasztalt emberektől.

Ha szeretnék egy tök egyszerű programot ami adatokat kezel bizonyos szempontok szerint mennyi lenne megcsináltatni? vagy tudtok ilyen szoftvert? mert több topicban próbáltam segítséget kérni, de nem nagyon kaptam választ.

Kicsit konkrétabban amire szükségem van.
Laci autót akar venni (ezt az igényt tudjam rögzíteni)
2 milliót szán rá (ezt az igényt tudjam rögzíteni)
4-7 éves közötti kocsit (ezt az igényt tudjam rögzíteni)
csak német kocsi (ezt az igényt tudjam rögzíteni)
illetve tudjak a mezők értékeire úgy rákeresni, hogy mondjuk bejön nekem egy 5 éves opel, és én leülök a géphez, hogy van egy 5 éves opelem ami 1,5 millióba kerül, akkor a program dobja fel nekem Lacit.

A kocsi meg a többi adatot most találtam ki. a lényeg, hogy legyenek mezők amikbe tudok értékeket megadni és tudok szűrni.

Ez mennyibe kerülhet? vagy tudtok ilyet? csak nem lehet egy gyakorlott programozónak olyan nagy dolog. vagy igen? :)
Köszi előre is

Ha ma nulla CELSIUS fok van és holnap kétszer olyan hideg várható, hány CELSIUS fok lesz holnap? :D (bezártam a kiskaput)

(#3018) Diopapa válasza Memphis (#3017) üzenetére


Diopapa
addikt

Ha tényleg csak ennyi kell, erre még egy excel tábla is elég lehet.. ;)

Citizen Diopapa / Commander Diopapa "SC csomag olyan, mint a barackfa, unokáidnak veszed - .tnm / De pálinkát nemlehet főzni belűle - *SkyS1gn"

(#3019) bambano


bambano
titán

mindjárt a számra ütök, hogy ilyeneket mondok, de egy google docs is elég lehet, vagy ha ez nem jó, akkor ms felhőben bérelni egy share point portált. amennyiből egy egyetemista összekalapálna egy webes felületet ehhez, plusz a tárhelybérlet hozzá, annyiból megvan a felhő is.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#3020) Memphis válasza Diopapa (#3018) üzenetére


Memphis
tag

most is azt használok. De több usert is bevonnék + jogosultságokat. Ez meg mar excelben körülményes.
Meg őszintén szólva a mai világban már csak van valami jobb megoldás erre mint az Excel....elvégre nem agysebészet

Nem ártana egy kicsit grafikusabb felület. Semmi extra, de azert az excelnel valami szebb. Nekem tokeletes lenne az Excel de nem csak en használnám....hanem olyan emberek is akik az USB-re azt válaszoljak egészségére

Ha ma nulla CELSIUS fok van és holnap kétszer olyan hideg várható, hány CELSIUS fok lesz holnap? :D (bezártam a kiskaput)

(#3021) Apollo17hu válasza Memphis (#3020) üzenetére


Apollo17hu
őstag

Excelben is lehet olyan felületet kialakítani, hogy a mezei user észre sem veszi, hogy Office-alkalmazásban van. Kell hozzá egy pofás template, űrlapismeretek, kis makrózás, és egyáltalán nem munkafüzetként fogsz tekinteni a fájlra. Persze egy ilyet normálisan megcsinálni napokba telik (bármilyen környezetben).

(#3022) Memphis válasza Apollo17hu (#3021) üzenetére


Memphis
tag

Hmmm...nem vagyok rossz excelből de ez meghaladja már a kepességeimet :-)
Azert utanajarok kicsit. Köszi

Ha ma nulla CELSIUS fok van és holnap kétszer olyan hideg várható, hány CELSIUS fok lesz holnap? :D (bezártam a kiskaput)

(#3023) Kommy


Kommy
veterán

Sziasztok!

Kéne egy kis segítség.

Van egy mysql adatbázisom ami most került hozzám, egy programmal egyetemben, a program ír az adatbázisba, találtam egy hibát a programban, ami miatt az egyik táblát teleszemetelte szeretném kitörölni ebből a táblából azokat a sorokat amelyek nincsenek használatban.
A program javítások jegyzőkönyveit tartalmazza, van külön eszköz és javítások tábla, az eszközök táblában sok a duplikáció.

A program hibája az volt, hogy a felvett gépet állandóan újként mentette nem pedig módosította.

Tehát amit szeretnék , hogy kitörölni azokat az eszközöket amelyek nem szereplenek a javítások táblában.

Ez megoldható valahogyan egyszerűen?

(#3024) martonx válasza Kommy (#3023) üzenetére


martonx
veterán

delete from tabla where és ide jön a feltételed

Delete-ben joint is használhatsz.

Én kérek elnézést!

(#3025) bambano válasza Kommy (#3023) üzenetére


bambano
titán

mysql-t nem használtam soha, postgresben ez kb. így van:

delete from gepek where id not in (select gepid from masiktabla)

én azért mentenék előtte egy alaposat :)

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#3026) Kommy


Kommy
veterán

martonx: bambano: köszönöm mindkettőtöknek.

Természetesen a próbálkozás nem az éles adatbázison lesz, hanem egy másolaton.

(#3027) Jim Tonic


Jim Tonic
nagyúr

Hali,

kérdésem lenne valami SQL guruhoz. Szeretnék egy feladatot kitolni a DB motorra, és nem a programommal intézni, ha lehetséges. A feladat a következő lenne.
Egy after triggerrel szeretném megoldani, hogy egy rekord után kikeressen egy rekordot egy másik táblából, és ha ott megfelelő értéket talál, akkor írjon egy harmadik táblát, az elsőből származó adatokkal.
Gondolom, lehetséges, de jó lenne nekem egy minta.
Tud valaki ebben segíteni?

[ Szerkesztve ]

Alcohol & calculus don't mix. Never drink & derive.

(#3028) DNReNTi válasza Jim Tonic (#3027) üzenetére


DNReNTi
őstag

SQL SP az amit te keresel szerintem. ;)
Igaz ez nem példa. :(

but without you, my life is incomplete, my days are absolutely gray

(#3029) Jim Tonic válasza DNReNTi (#3028) üzenetére


Jim Tonic
nagyúr

Lehet stored procedure is vagy trigger is a megoldás, szerintem, de nekem valóban az lenne a lényeg, hogy valaki, akinek ezzel sok tapasztalata van, segítsen egy példával.
Én nem nagyon csináltam ilyet, mivel programból is megoldható, de most van rá okom, hogy kiszervezzem.

Alcohol & calculus don't mix. Never drink & derive.

(#3030) rum-cajsz válasza Jim Tonic (#3029) üzenetére


rum-cajsz
őstag

Annyira konkrétat kérdezel, hogy a válaszhoz tudni kellene milyen adatbázismotorban gondolkodsz?

=Kilroy was here============================ooO=*(_)*=Ooo=======

(#3031) Jim Tonic válasza rum-cajsz (#3030) üzenetére


Jim Tonic
nagyúr

Firebird.

Alcohol & calculus don't mix. Never drink & derive.

(#3032) rum-cajsz válasza Jim Tonic (#3031) üzenetére


rum-cajsz
őstag

Ha igazán szép megoldást akarsz, akkor készítesz egy tárolt eljárást, aminek a paramétere a vizsgálandó adat. Tartalma pedig egy insert-select Utána az after triggerben meghívod ezt a programot, amikor szükséges. De az insert-select mehet közvetlenül a trigger kódjába is. pl. az ID egy oszlopa a tábla1 tábládnak.

create trigger sajáttrigger
active after insert or update
on tábla1
as
begin
insert into tábla3 (number, name)
select number, name from tábla2 where Accepted = new.id;
end

Erre gondoltál?

szerk:
Ja most látom, hogy az 1-es táblából akarsz értéket tenni bele, akkor úgy kell az oszlopokra hivatkoznod, hogy new.oszlopnév ez annak a táblának az oszlopa, ahová most éppen be akarsz szúrni, vagy módosítasz.

[ Szerkesztve ]

=Kilroy was here============================ooO=*(_)*=Ooo=======

(#3033) Jim Tonic válasza rum-cajsz (#3032) üzenetére


Jim Tonic
nagyúr

Máshogy írom le.
(Telesen más a téma, de itt csak körbeírnom szabad, ezért elnézést a hülye példáért.)
Table A-ba parkolóba érkező autókat viszek fel.
Mikor ezt felviszem, megnézi az autók listájában (Table B) a rendszám alapján, hogy az milyen autó. Ha a beérkező autó teherautó, akkor Table A-ból néhány mező Table C-be másolódik.

Alcohol & calculus don't mix. Never drink & derive.

(#3034) rum-cajsz válasza Jim Tonic (#3033) üzenetére


rum-cajsz
őstag

Igen, értettem én, ezért írtam a kiegészítést alulra. Tehát a select lehet ilyen is:

SELECT new.rendszám,new.autószíne, new.autótípusa from TABLE_B where table_b.rendszem=new.rendszam;

Persze ehhez az kell, hogy a TABLE_B lekérdezés eredménye csak egy sor legyen, tehát a lekérdezésed úgy kell paraméterezni, hogy a végén egy sor legyen a lekérdezés eredménye.

=Kilroy was here============================ooO=*(_)*=Ooo=======

(#3035) martonx válasza Jim Tonic (#3033) üzenetére


martonx
veterán

Szerintem ebben az esetben egy teljesen sima tárolt eljárás lenne a megoldás, persze trigger-rel is meg lehet csinálni csak nem elegáns, a triggereket érdemes kerülni, amennyire lehet.

Azaz a sima insert-ed helyett, amit egy trigger figyel, írsz egy tárolt eljárást, annak átadod a paramétereket, és az magán belül intézi az insert-et, kikeresést, és ha kell a másik táblába insert-et.

Én kérek elnézést!

(#3036) bambano válasza Jim Tonic (#3031) üzenetére


bambano
titán

gondolom te is láttad, hogy firebirdből megjelent az új főverzió, a 3.0.0.
aktuális fejlesztésnél lehet, hogy érdemes lenne ezzel csinálni.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#3037) rum-cajsz válasza martonx (#3035) üzenetére


rum-cajsz
őstag

Mondjuk martonx kollégának igaza van abban, hogy ha csak egy irányból érkeznek adatok (a programodból), és úgy is most tervezed az egészet, akkor a trigger helyett jobb, ha programból csinálod az insertet is.
A trigger megoldás inkább akkor lehet jó, ha több irányból (több programból, betöltésből, stb.) is érkezhetnek adatok, és nem akarod/ nem tudod ellenőrzötten az összes programodat átírni.

=Kilroy was here============================ooO=*(_)*=Ooo=======

(#3038) Jim Tonic válasza bambano (#3036) üzenetére


Jim Tonic
nagyúr

Igen, láttam, de már az egész fejlesztésem 2.5-ben született. Ez a legvége. Azért nézegetem, mit tudok tenni. Komoly fegyvertény a boolean megjelenése.
Megnézem, benyalja-e a DDL-t egy az egyben.

[ Szerkesztve ]

Alcohol & calculus don't mix. Never drink & derive.

(#3039) Jim Tonic válasza bambano (#3036) üzenetére


Jim Tonic
nagyúr

Meg tudtam csinálni, kisebb mértékben kellett csak módosítani a DDL-t, hogy hiba nélkül lefusson. Adatokat majd áthalászom.
Azt meg majd meglátom, hogy nekiállok el lecserélni a char(1)-t booleanre. Az már a programot és érinti.

Alcohol & calculus don't mix. Never drink & derive.

(#3040) DS39


DS39
nagyúr

MS SQL környezetben szeretnék egy olyan lekérdezést csinálni, ahol a select-ben van egy dinamikus változó.

select oszlop1, oszlop2, (select id from ..) - 1
from ...

A belső select mindig egy adott id-t, számértéket ad vissza, és az 1 helyett szeretnék egy @i változót soronként növelni, de nem sikerül megoldani.
@i++ nem működik
@i = @i + 1 sem jó.

van rá megoldás?

[ Szerkesztve ]

(#3041) Petya25 válasza DS39 (#3040) üzenetére


Petya25
addikt

Szia
Próbáld ezt:

select oszlop1, oszlop2, ROW_NUMBER() over(order by oszlop1) as sorszám from tábla

Antonio Coimbra de la Coronilla y Azevedo, bizony!

(#3042) DS39 válasza Petya25 (#3041) üzenetére


DS39
nagyúr

Először próbálkoztam ezzel, de akkor a belső select-ben az id-ből próbáltam levonni, ahelyett hogy kívül tenném ezt. Pedig így működik. :D

és már a belső select-et is kiküszöböltem:

declare @i int = (select id from ...)

select oszlop1, oszlop2, @i - ROW_NUMBER() over(order by oszlop1)
from ...

Köszönöm a segítséget. :)

(#3043) sztanozs válasza DS39 (#3040) üzenetére


sztanozs
veterán

Ez egy stored procedure? Vagy hova tervezed beírni az @i = @i + 1 -et?
Ha csak egy lekérdezés, akkor inkább használj @i-t és @j-t, ahol @j-t @i+1-el inicializálod.

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#3044) DS39 válasza sztanozs (#3043) üzenetére


DS39
nagyúr

nem tárolt eljárás, csak egy lekérdezés.

de az alábbi megoldás végül is tökéletes nekem.

az amit írsz nem jó (vagy én értem félre)

ha az alábbi kódrészlethez hozzáteszem ezt:
declare @j int = @i - 1

és beteszem egy plusz oszlopba a @j-t ,akkor annak minden sorban fix marad az értéke, nem végzi el megjelenített soronként a műveletet.

(#3045) Petya25 válasza DS39 (#3042) üzenetére


Petya25
addikt

De ha az "id" nálad csak egy fix szám, akkor nem lett volna egyszerűbb ha fixen beirod a selectbe?

69 - ROW_number.....

Minek változót gyártani és feltölteni?

Antonio Coimbra de la Coronilla y Azevedo, bizony!

(#3046) tm5 válasza DS39 (#3042) üzenetére


tm5
tag

Esetleg:

WITH x AS (select id from ...),
basetable AS (SELECT oszlop1, oszlop2, ROW_NUMBER() over(order by oszlop1) rnum from ...)
SELECT oszlop1, oszlop2, x.id - basetable.rnum
FROM basetable
INNER JOIN x ON (...)

(#3047) DS39 válasza Petya25 (#3045) üzenetére


DS39
nagyúr

mert a lekérdezett id futtatásonként változna, nem mindig fix. csak leegyszerűsítettem a példát.

[ Szerkesztve ]

(#3048) Petya25 válasza DS39 (#3047) üzenetére


Petya25
addikt

Aha, akkor tényleg futásidőben kell meglesni és ahhoz igazodni amit ott találsz.

Antonio Coimbra de la Coronilla y Azevedo, bizony!

(#3049) Jim Tonic válasza DS39 (#3047) üzenetére


Jim Tonic
nagyúr

Sima paraméter nem jó neked, amit a programból dobálsz?

Alcohol & calculus don't mix. Never drink & derive.

(#3050) DS39 válasza Jim Tonic (#3049) üzenetére


DS39
nagyúr

De, csak ehhez nincs program, ez csak sima sql script, amit futtatok.

Útvonal

Fórumok  »  Szoftverfejlesztés  »  SQL kérdések (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.