» »

PostgreSQL pomoč

PostgreSQL pomoč

Mato989 ::

Pozdravljeni, sem v fazi INSERT stavkov v lastno zamišljeno bazo (slika spodaj) in bi poprosil, če mi lahko kdo napiše kako izpopolnit oz. dat podatke not v recimo bazo zaposleni, ki ima 2 foreign keya.



Zdaj entitete brez FKjev sem že nafilal, mi je šlo, pri INSERTIH recimo "zaposleni" pa nikakor ne najdem pravilne sintaxe za filanje in sicer INSERT stavki za entitete brez FKjev so:

INSERT INTO "postneStevilke" VALUES ('1', 'Ptuj', '2250');
INSERT INTO "postneStevilke" VALUES ('2', 'Velenje', '3320');
INSERT INTO "postneStevilke" VALUES ('3', 'Maribor', '2000');
INSERT INTO "postneStevilke" VALUES ('4', 'Ljubljana', '1000');

INSERT INTO "drzava" VALUES ('1', 'Slovenija');
INSERT INTO "drzava" VALUES ('2', 'Hrvaška');
INSERT INTO "drzava" VALUES ('3', 'Avstrija');

INSERT INTO "delovnoMesto" VALUES ('1', 'Prodajalec');
INSERT INTO "delovnoMesto" VALUES ('2', 'Vodja_oddelka');
INSERT INTO "delovnoMesto" VALUES ('3', 'Komercialist');

INSERT INTO "kategorija" VALUES ('1', 'IT', 'Informacijska tehnologija, strojna oprema');
INSERT INTO "kategorija" VALUES ('2', 'Audio', 'glasbena oprema');
INSERT INTO "kategorija" VALUES ('3', 'TV', 'Televizije, antene, satelitski krožniki in oprema');

Zdaj z foreign keyem pa probavam takole:

INSERT INTO "zaposleni" VALUES ('1', (Select delovnoMesto.delovnoMesto FROM ID_delovnoMesto WHERE delovnoMesto = 'Vodja_oddelka'), (Select ID_postneStevilke FROM "postneStevilke"
WHERE "postnaStevilka" = '2250')
, 'Domen', 'Dolenc', 'Trstenjakova ulica 5');

Tole boldano, je zdaj primer ene oz. dveh opcij katere sem probal, pa ni šla nobena, prosil bi če kdo zapiše pravilno sintaxo za klicanje iz FKjev, in če je možno uporabi eno izmed opcij odzgoraj (ki so že insertane) da imam primerjavo, recimo, želel bi dodat zaposlenega, ki je vodja oddelka, doma na Ptuju ali katerikoli izmed zgornjih mest.

Hvala vnaprej!
  • spremenilo: Mato989 ()

fido89 ::

Glede na to, da uporabljaš serial za primarne ključe, zakaj potem sam določaš vrednosti?
Glede boldanega primera, pri prvem selectu si zamenjal ime tabele z imenom polja, prav tako pa moraš dobiti ID, ne pa "naziv" delovnega mesta.

Torej:
INSERT INTO postneStevilke (kraj, postnaStevilka) VALUES ('Ptuj', '2250');
INSERT INTO delovnoMesto (delovnoMesto) VALUES ('Vodja_oddelka');
INSERT INTO zaposleni (ID_delovnoMesto,ID_postneStevilke,ime,priimek,naslov) VALUES ((SELECT ID_delovnoMesto FROM delovnoMesto WHERE delovnoMesto = 'Vodja_oddelka'), (SELECT ID_postneStevilke FROM postneStevilke
WHERE postnaStevilka = '2250'), 'Domen', 'Dolenc', 'Trstenjakova ulica 5');

Mato989 ::

Hvala ti, bom jutri sprobal sem bil na šihtu do zdaj, če bom pa še kaj rabo pa bom sprobal, kar se pa tiče serialov pa sem verjetno pisal, ker nisem v oklepaje napisal, in mi ni prjelo pod serial kraj verjetno, ne gre črka ampak samo številak če jaz kaj vem :P

Hvala še enkrat!

Mato989 ::

Evo sem zdaj stestiral pa mi napiše sledeče

ERROR: column "id_delovnomesto" of relation "zaposleni" does not exist
LINE 1: INSERT INTO zaposleni (ID_delovnoMesto,ID_postneStevilke,ime...

^


 ERROR

ERROR



Čeprav imam 100% napisano in vstavljene že vse zgoraj naštete INSERT stavke. Pa copy paste sem dal tvoj stavek not v managerja.

Zgodovina sprememb…

  • spremenilo: Mato989 ()

Poldi112 ::

Pa imaš ta stolpec v tabeli?
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.

Mato989 ::

Imam ja. Tukaj je extractana db: link je spodaj, pa še copy paste: Sem odebelil column kjer je dodan Vodja_oddelka recimo. Saj INSERT v vsako entiteto mi gre brez težav dokler ne pridem do entitet z FKji, takrat pa kod da noče najt relacije, čeprav so narete. pg_dumpa pa ne znam nardit, bom pa še preveril, sem komaj v 1. letniku pa nimam časa zaradi šihta se tolko ukvarjat s tem.

http://s000.tinyupload.com/index.php?fi...

-- SQL Manager for PostgreSQL 5.6.0.46253
-- ---------------------------------------
-- Host : localhost
-- Database : narocila_database
-- Version : PostgreSQL 9.5.1, compiled by Visual C++ build 1800, 64-bit



SET check_function_bodies = false;
--
-- Structure for table zaposleni (OID = 16713) :
--
SET search_path = public, pg_catalog;
CREATE TABLE public.zaposleni (
"ID_zaposleni" serial NOT NULL,
"ID_delovnoMesto" integer NOT NULL,
"ID_postneStevilke" integer NOT NULL,
ime varchar NOT NULL,
priimek varchar NOT NULL,
naslov varchar
)
WITH (oids = false);
--
-- Structure for table narocilo (OID = 16724) :
--
CREATE TABLE public.narocilo (
"ID_narocilo" serial NOT NULL,
"ID_kupec" integer NOT NULL,
"ID_zaposleni" integer NOT NULL,
narocilo numeric
)
WITH (oids = false);
--
-- Structure for table podrobnostNarocila (OID = 16735) :
--
CREATE TABLE public."podrobnostNarocila" (
"ID_podrobnostNarocila" serial NOT NULL,
"ID_narocilo" integer NOT NULL,
"ID_artikel" integer NOT NULL,
kolicina numeric(10,2) NOT NULL,
cena numeric(20,2)
)
WITH (oids = false);
--
-- Structure for table artikel (OID = 16743) :
--
CREATE TABLE public.artikel (
"ID_artikel" serial NOT NULL,
"ID_poslovniPartner" integer NOT NULL,
"ID_kategorija" integer NOT NULL,
"imeArtikla" varchar(50) NOT NULL,
"kolicinaNaEnoto" numeric(10,2),
cena numeric(50,2),
zaloga numeric(10,2) NOT NULL,
dobavljivost char(2) NOT NULL
)
WITH (oids = false);
--
-- Structure for table poslovniPartner (OID = 16751) :
--
CREATE TABLE public."poslovniPartner" (
"ID_poslovniPartner" serial NOT NULL,
"ID_drzava" integer NOT NULL,
"ID_postneStevilke" integer NOT NULL,
"imePodjetja" varchar NOT NULL,
naslov varchar NOT NULL,
"telefonskaStevilka" numeric
)
WITH (oids = false);
--
-- Structure for table postneStevilke (OID = 16762) :
--
CREATE TABLE public."postneStevilke" (
"ID_postneStevilke" serial NOT NULL,
"postnaStevilka" varchar NOT NULL,
kraj varchar
)
WITH (oids = false);
--
-- Structure for table delovnoMesto (OID = 16773) :
--
CREATE TABLE public."delovnoMesto" (
"ID_delovnoMesto" serial NOT NULL,
"delovnoMesto" varchar NOT NULL
)
WITH (oids = false);
--
-- Structure for table kategorija (OID = 16784) :
--
CREATE TABLE public.kategorija (
"ID_kategorija" serial NOT NULL,
"imeKategorije" varchar NOT NULL,
opis varchar(100)
)
WITH (oids = false);
--
-- Structure for table kupec (OID = 16795) :
--
CREATE TABLE public.kupec (
"ID_kupec" serial NOT NULL,
"ID_postneStevilke" integer NOT NULL,
"ID_drzava" integer NOT NULL,
ime varchar NOT NULL,
priimek varchar NOT NULL,
naslov varchar NOT NULL
)
WITH (oids = false);
--
-- Structure for table drzava (OID = 16806) :
--
CREATE TABLE public.drzava (
"ID_drzava" serial NOT NULL,
drzava char(50) NOT NULL
)
WITH (oids = false);
--
-- Data for table public."postneStevilke" (OID = 16762) (LIMIT 0,4)
--
INSERT INTO "postneStevilke" ("ID_postneStevilke", "postnaStevilka", kraj)
VALUES (1, 'Ptuj', '2250');

INSERT INTO "postneStevilke" ("ID_postneStevilke", "postnaStevilka", kraj)
VALUES (2, 'Velenje', '3320');

INSERT INTO "postneStevilke" ("ID_postneStevilke", "postnaStevilka", kraj)
VALUES (3, 'Maribor', '2000');

INSERT INTO "postneStevilke" ("ID_postneStevilke", "postnaStevilka", kraj)
VALUES (4, 'Ljubljana', '1000');

--
-- Data for table public."delovnoMesto" (OID = 16773) (LIMIT 0,3)
--
INSERT INTO "delovnoMesto" ("ID_delovnoMesto", "delovnoMesto")
VALUES (1, 'Prodajalec');

INSERT INTO "delovnoMesto" ("ID_delovnoMesto", "delovnoMesto")
VALUES (2, 'Vodja_oddelka');


INSERT INTO "delovnoMesto" ("ID_delovnoMesto", "delovnoMesto")
VALUES (3, 'Komercialist');

--
-- Data for table public.kategorija (OID = 16784) (LIMIT 0,3)
--
INSERT INTO kategorija ("ID_kategorija", "imeKategorije", opis)
VALUES (1, 'IT', 'Informacijska tehnologija, strojna oprema');

INSERT INTO kategorija ("ID_kategorija", "imeKategorije", opis)
VALUES (2, 'Audio', 'glasbena oprema');

INSERT INTO kategorija ("ID_kategorija", "imeKategorije", opis)
VALUES (3, 'TV', 'Televizije, antene, satelitski krožniki in oprema');

--
-- Data for table public.drzava (OID = 16806) (LIMIT 0,3)
--
INSERT INTO drzava ("ID_drzava", drzava)
VALUES (1, 'Slovenija');

INSERT INTO drzava ("ID_drzava", drzava)
VALUES (2, 'Hrvaška');

INSERT INTO drzava ("ID_drzava", drzava)
VALUES (3, 'Avstrija');

--
-- Definition for index zaposleni_pkey (OID = 16720) :
--
ALTER TABLE ONLY zaposleni
ADD CONSTRAINT zaposleni_pkey
PRIMARY KEY ("ID_zaposleni");
--
-- Definition for index narocilo_pkey (OID = 16731) :
--
ALTER TABLE ONLY narocilo
ADD CONSTRAINT narocilo_pkey
PRIMARY KEY ("ID_narocilo");
--
-- Definition for index podrobnostNarocila_pkey (OID = 16739) :
--
ALTER TABLE ONLY "podrobnostNarocila"
ADD CONSTRAINT "podrobnostNarocila_pkey"
PRIMARY KEY ("ID_podrobnostNarocila");
--
-- Definition for index artikel_pkey (OID = 16747) :
--
ALTER TABLE ONLY artikel
ADD CONSTRAINT artikel_pkey
PRIMARY KEY ("ID_artikel");
--
-- Definition for index poslovniPartner_pkey (OID = 16758) :
--
ALTER TABLE ONLY "poslovniPartner"
ADD CONSTRAINT "poslovniPartner_pkey"
PRIMARY KEY ("ID_poslovniPartner");
--
-- Definition for index postneStevilke_pkey (OID = 16769) :
--
ALTER TABLE ONLY "postneStevilke"
ADD CONSTRAINT "postneStevilke_pkey"
PRIMARY KEY ("ID_postneStevilke");
--
-- Definition for index delovnoMesto_pkey (OID = 16780) :
--
ALTER TABLE ONLY "delovnoMesto"
ADD CONSTRAINT "delovnoMesto_pkey"
PRIMARY KEY ("ID_delovnoMesto");
--
-- Definition for index kategorija_pkey (OID = 16791) :
--
ALTER TABLE ONLY kategorija
ADD CONSTRAINT kategorija_pkey
PRIMARY KEY ("ID_kategorija");
--
-- Definition for index kupec_pkey (OID = 16802) :
--
ALTER TABLE ONLY kupec
ADD CONSTRAINT kupec_pkey
PRIMARY KEY ("ID_kupec");
--
-- Definition for index drzava_pkey (OID = 16810) :
--
ALTER TABLE ONLY drzava
ADD CONSTRAINT drzava_pkey
PRIMARY KEY ("ID_drzava");
--
-- Definition for index narocilo_ID_zaposleni_fkey (OID = 16812) :
--
ALTER TABLE ONLY narocilo
ADD CONSTRAINT "narocilo_ID_zaposleni_fkey"
FOREIGN KEY ("ID_zaposleni") REFERENCES zaposleni("ID_zaposleni") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index podrobnostNarocila_ID_narocilo_fkey (OID = 16817) :
--
ALTER TABLE ONLY "podrobnostNarocila"
ADD CONSTRAINT "podrobnostNarocila_ID_narocilo_fkey"
FOREIGN KEY ("ID_narocilo") REFERENCES narocilo("ID_narocilo") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index podrobnostNarocila_ID_artikel_fkey (OID = 16822) :
--
ALTER TABLE ONLY "podrobnostNarocila"
ADD CONSTRAINT "podrobnostNarocila_ID_artikel_fkey"
FOREIGN KEY ("ID_artikel") REFERENCES artikel("ID_artikel") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index artikel_ID_poslovniPartner_fkey (OID = 16827) :
--
ALTER TABLE ONLY artikel
ADD CONSTRAINT "artikel_ID_poslovniPartner_fkey"
FOREIGN KEY ("ID_poslovniPartner") REFERENCES "poslovniPartner"("ID_poslovniPartner") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index zaposleni_ID_postneStevilke_fkey (OID = 16832) :
--
ALTER TABLE ONLY zaposleni
ADD CONSTRAINT "zaposleni_ID_postneStevilke_fkey"
FOREIGN KEY ("ID_postneStevilke") REFERENCES "postneStevilke"("ID_postneStevilke") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index poslovniPartner_ID_postneStevilke_fkey (OID = 16837) :
--
ALTER TABLE ONLY "poslovniPartner"
ADD CONSTRAINT "poslovniPartner_ID_postneStevilke_fkey"
FOREIGN KEY ("ID_postneStevilke") REFERENCES "postneStevilke"("ID_postneStevilke") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index kupec_ID_postneStevilke_fkey (OID = 16842) :
--
ALTER TABLE ONLY kupec
ADD CONSTRAINT "kupec_ID_postneStevilke_fkey"
FOREIGN KEY ("ID_postneStevilke") REFERENCES "postneStevilke"("ID_postneStevilke") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index zaposleni_ID_delovnoMesto_fkey (OID = 16847) :
--
ALTER TABLE ONLY zaposleni
ADD CONSTRAINT "zaposleni_ID_delovnoMesto_fkey"
FOREIGN KEY ("ID_delovnoMesto") REFERENCES "delovnoMesto"("ID_delovnoMesto") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index artikel_ID_kategorija_fkey (OID = 16852) :
--
ALTER TABLE ONLY artikel
ADD CONSTRAINT "artikel_ID_kategorija_fkey"
FOREIGN KEY ("ID_kategorija") REFERENCES kategorija("ID_kategorija") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index narocilo_ID_kupec_fkey (OID = 16857) :
--
ALTER TABLE ONLY narocilo
ADD CONSTRAINT "narocilo_ID_kupec_fkey"
FOREIGN KEY ("ID_kupec") REFERENCES kupec("ID_kupec") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index poslovniPartner_ID_drzava_fkey (OID = 16862) :
--
ALTER TABLE ONLY "poslovniPartner"
ADD CONSTRAINT "poslovniPartner_ID_drzava_fkey"
FOREIGN KEY ("ID_drzava") REFERENCES drzava("ID_drzava") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Definition for index kupec_ID_drzava_fkey (OID = 16867) :
--
ALTER TABLE ONLY kupec
ADD CONSTRAINT "kupec_ID_drzava_fkey"
FOREIGN KEY ("ID_drzava") REFERENCES drzava("ID_drzava") ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Data for sequence public."zaposleni_ID_zaposleni_seq" (OID = 16711)
--
SELECT pg_catalog.setval('"zaposleni_ID_zaposleni_seq"', 1, false);
--
-- Data for sequence public."narocilo_ID_narocilo_seq" (OID = 16722)
--
SELECT pg_catalog.setval('"narocilo_ID_narocilo_seq"', 1, false);
--
-- Data for sequence public."podrobnostNarocila_ID_podrobnostNarocila_seq" (OID = 16733)
--
SELECT pg_catalog.setval('"podrobnostNarocila_ID_podrobnostNarocila_seq"', 1, false);
--
-- Data for sequence public."artikel_ID_artikel_seq" (OID = 16741)
--
SELECT pg_catalog.setval('"artikel_ID_artikel_seq"', 1, false);
--
-- Data for sequence public."poslovniPartner_ID_poslovniPartner_seq" (OID = 16749)
--
SELECT pg_catalog.setval('"poslovniPartner_ID_poslovniPartner_seq"', 1, false);
--
-- Data for sequence public."postneStevilke_ID_postneStevilke_seq" (OID = 16760)
--
SELECT pg_catalog.setval('"postneStevilke_ID_postneStevilke_seq"', 1, false);
--
-- Data for sequence public."delovnoMesto_ID_delovnoMesto_seq" (OID = 16771)
--
SELECT pg_catalog.setval('"delovnoMesto_ID_delovnoMesto_seq"', 1, false);
--
-- Data for sequence public."kategorija_ID_kategorija_seq" (OID = 16782)
--
SELECT pg_catalog.setval('"kategorija_ID_kategorija_seq"', 1, false);
--
-- Data for sequence public."kupec_ID_kupec_seq" (OID = 16793)
--
SELECT pg_catalog.setval('"kupec_ID_kupec_seq"', 1, false);
--
-- Data for sequence public."drzava_ID_drzava_seq" (OID = 16804)
--
SELECT pg_catalog.setval('"drzava_ID_drzava_seq"', 1, false);
--
-- Comments
--
COMMENT ON SCHEMA public IS 'standard public schema';

GupeM ::

V CREATE TABLE statementih si imena stolpcev pisal v narekovajih, kar pomeni, da so case sensitive. V SELECT in INSERT statementih jih pišeš brez narekovajev, kar pomeni, da so case insensitive. Zdaj imaš dve možnosti:
1. V tabelah stolpce preimenuj, da bojo case insensitive.
CREATE TABLE public.narocilo (
ID_narocilo serial NOT NULL,
ID_kupec integer NOT NULL,
ID_zaposleni integer NOT NULL,
narocilo numeric
)
WITH (oids = false);


2. V SELECT in INSERT statementih jih piši z narekovaji.
INSERT INTO "zaposleni" ("ID_delovnoMesto", "ID_postneStevilke", "ime", "priimek", "naslov") VALUES
((SELECT "ID_delovnoMesto" FROM "delovnoMesto" WHERE "delovnoMesto" = 'Vodja_oddelka'),...


Osebno preferiram case insenstive imena tabel in stolpcev, odločitev pa je tvoja.

Zgodovina sprememb…

  • spremenil: GupeM ()

Mato989 ::

GupeM je izjavil:

V CREATE TABLE statementih si imena stolpcev pisal v narekovajih, kar pomeni, da so case sensitive. V SELECT in INSERT statementih jih pišeš brez narekovajev, kar pomeni, da so case insensitive. Zdaj imaš dve možnosti:
1. V tabelah stolpce preimenuj, da bojo case insensitive.
CREATE TABLE public.narocilo (
ID_narocilo serial NOT NULL,
ID_kupec integer NOT NULL,
ID_zaposleni integer NOT NULL,
narocilo numeric
)
WITH (oids = false);


2. V SELECT in INSERT statementih jih piši z narekovaji.
INSERT INTO "zaposleni" ("ID_delovnoMesto", "ID_postneStevilke", "ime", "priimek", "naslov") VALUES
((SELECT "ID_delovnoMesto" FROM "delovnoMesto" WHERE "delovnoMesto" = 'Vodja_oddelka'),...


Osebno preferiram case insenstive imena tabel in stolpcev, odločitev pa je tvoja.



Hvala ti, mislim da je šlo zdaj.

Zdaj mi je sicer napisalo:

<strong>ERROR:  null value in column "ID_postneStevilke" violates not-null constraint
DETAIL:  <u>Failing row contains (1, 2, null, Domen, Dolenc, Trstenjakova ulica 5)</u>.</strong>


Kar verjetno pomeni da mi ni preskočlo ID_zaposleni ki je serial, ker po vrsti imam columns= ID_zaposleni, ID_delovnoMesto, ID:kraj, ime, priimek, naslov... in glede na zapis ki je podčrtam, predvidevam, da mi je prvi select napisalo pod serial, drugi select pod ID_delovnoMesto(je pa dejansko od kraja) in zdaj je FK violation ker ne sme bit NULL.

Se pravi verjetno mi serial ne vrstiči brez da jaz napišem? Oziroma bom pač moral dat notri še sequence stavek.

Zgodovina sprememb…

  • spremenilo: Mato989 ()

Mato989 ::

Nima veze, talent jaz, sem vstavil v tabelo poštnih številk v napačnem vrstnem redu in mam pod postneStevilke napisane imena krajev pod kraj pa postneStevilke, ni čudno da ne gre skup pol :)

Hvala vam vsem zaenkrat, tudi jypu za "pomoč" :P Če bom pa še kaj rabil pa se še oglasim :) Hudič je ko zaradi dela ne morš bit na vsakem predavanju

GupeM ::

Serial bi moral številčiti sam, če v insertu eksplicitno navedeš stolpce, tako kot imaš na zgoraj objavljeni sliki za tabelo zaposleni.
INSERT INTO "zaposleni" ("ID_delovnoMesto", "ID_postneStevilke", "ime", "priimek", "naslov") VALUES ...
-- Tukaj se serial generira sam


Če pa napišeš brez eksplicitnega navajanja stolpcev, pa pričakuje tudi vrednost za serial.
INSERT INTO "zaposleni" VALUES ...
-- Tukaj pričakuje vrednosti za vse stolpce, tudi za stolpec tipa serial.


Edit: Vidim da si že rešil :D

Zgodovina sprememb…

  • spremenil: GupeM ()

Mato989 ::

GupeM je izjavil:

Serial bi moral številčiti sam, če v insertu eksplicitno navedeš stolpce, tako kot imaš na zgoraj objavljeni sliki za tabelo zaposleni.
INSERT INTO "zaposleni" ("ID_delovnoMesto", "ID_postneStevilke", "ime", "priimek", "naslov") VALUES ...
-- Tukaj se serial generira sam


Če pa napišeš brez eksplicitnega navajanja stolpcev, pa pričakuje tudi vrednost za serial.
INSERT INTO "zaposleni" VALUES ...
-- Tukaj pričakuje vrednosti za vse stolpce, tudi za stolpec tipa serial.


Ja saj sem skapiral kaj sem delal narobe oz. je bila krivda prejšnjega INSERTA v napačnem vrstnem redu :)

Zdaj me še samo zanima, glede na to da bom sprocesiral še enkrat od začetka (iz ERD) ko iz TDM (Toad Data Modeller) sprocesiram skripto za db, ali je kakšna opcija da zadeve ne bodo case sensitive ali moram to ročno popravit v sami sintaksi kot si mi ti svetoval, ker ko smo v šoli delali primer na 2 entitetah se ne spomnim da bi kaj popravljali pa je šlo brez "".... ?

Ali sem samo jaz kaj kje narobe nastavil pri samem vpisu v entitete?

GupeM ::

Na to ti pa žal ne znam odgovoriti. Najbolje da preveriš dokumentacijo TDM oz. kar pač uporabljaš. Največkrat obstajajo kakšne nastavitve, kako ti izvozi skripto. Če pa ne, pa narekovajev v skripti ni problem odstraniti. Če ne drugače, odpreš notepad++ in narediš string replace " s praznim stringom. Pred tem se seveda prepričaj da niso na kakšnem delu narekovaji obvezni.

Mato989 ::

GupeM je izjavil:

Na to ti pa žal ne znam odgovoriti. Najbolje da preveriš dokumentacijo TDM oz. kar pač uporabljaš. Največkrat obstajajo kakšne nastavitve, kako ti izvozi skripto. Če pa ne, pa narekovajev v skripti ni problem odstraniti. Če ne drugače, odpreš notepad++ in narediš string replace " s praznim stringom. Pred tem se seveda prepričaj da niso na kakšnem delu narekovaji obvezni.


OK, bom sam malo preštudiral na šihtu če ne bo preveč dela.

Še enkrat hvala ti, vsaj ene 2 urci tuhtanja pa googlanja si mi prihranil, če bom pa še kaj rabil pa povprašam tule in se priporočam.

Mato989 ::



Eno vprašanje še mam, bi lahko nekdo napisal še pravilen ukaz za SELECT stavek in sicer tako (meni nikakor ne prime)

SELECT "imeArtikla"
FROM "artikel" INNER JOIN "poslovniPartner"
ON "artikel"."ID_poslovniPartner" = "poslovniPartner"."ID_poslovniPartner"
WHERE upper ("imePodjetja") = 'Elkotex';


Pač jaz bi rad da bi mi poizvedba vrgla ven VSE artikle ki so od poslovne partnerja (v tem primeru Elkotex)

In enako število artiklov(po kategoriji) ki jih imam:

SELECT "artikel", COUNT(*) AS stevilo
FROM "artikel" RIGHT OUTER JOIN "kategorija"
ON "artikel"."ID_kategorija" = "kategorija"."ID_kategorija"
GROUP BY "imeKategorije";

To sem zdaj probal, mel sem še par različic pa mi enostavno ni šlo skozi.

Slika ERD je na začetku tega prispevka, če pa rabite celotno INSERT varianto kaj sem do zdaj vnesel v database pa lahko komot zalepim.

Hvala vnaprej :)

jukoz ::

1.)
Če pravilno razumem imaš v tabeli artikel id poslovnega partnerja, v tabeli poslovnih partnerjev pa ime in seveda id. V tem primeru bi moralo tole delovati:

select imeArtikla
from artikel
where ID_poslovniPartner in
(select ID_poslovniPartner
from poslovniPartner
where imePodjetja = 'Elkotex'
);

prozac ::

tvoj select je pravilen, samo v where delu moraš ali izbrisati upper, ali pa ime Elkotex napisati z velikimi črkami :)

SELECT "imeArtikla"
FROM "artikel" INNER JOIN "poslovniPartner"
ON "artikel"."ID_poslovniPartner" = "poslovniPartner"."ID_poslovniPartner"
WHERE ("imePodjetja") = 'Elkotex';

Zgodovina sprememb…

  • spremenilo: prozac ()

Mato989 ::

Hvala obema :)

Saj največ težav imam zato ker imam primere ki sem jih delal v šoli, cca. 8 šolskih ur, potem pa me 4x po 4 šolske ure ni blo, pa sem marsikaj zamudil, pa še to je problem ker tam nsiem rabo nikjer uproablja " ", tu pa kar zahteva, ker sem nekaj "zjebal" :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

oracle 12 identity (the old way)

Oddelek: Programiranje
6984 (789) detroit
»

SQL Parent key not found

Oddelek: Programiranje
7971 (894) Ciklamen
»

postgreSQL pomoč

Oddelek: Programiranje
131927 (1262) klemenSLO
»

SQL težava

Oddelek: Programiranje
364558 (3840) joseti
»

portal ostal, baza sla

Oddelek: Izdelava spletišč
61731 (1616) bombacina

Več podobnih tem