Poprawne zapytania nie wyświetlają wyników

0

Cześć,
Mam problem z Microsoft SQL Server Management Studio 2014, mianowicie po wpisaniu poprawnego zapytania SQL np. na stworzenie tabeli, nie są widoczne rezultaty, nawet po odświeżeniu bazy w drzewku.
Screen Shot 05-31-18 at 12.55 PM.PNG
Tworzę tabelę i wypełniam ją rekordami. Zapytanie zakończone sukcesem.

Screen Shot 05-31-18 at 12.56 PM.PNG
Tabeli brak, po odświeżeniu również

Ponadto tworząc bazę biblioteka, za każdym razem, gdy ją usunę po odświeżeniu pojawia się ponownie. Źle skonfigurowałem Management Studio?

0

Co do tworzenia tabel i insertów. Robisz to na bazie master. Na belce tytułowej widać. Wpisz wcześniej use biblioteka, a następnie wykonaj polecenia.
Co do kasowania, to nie wiem co tam piszesz więc ciężko się odnieść...

0
Marcin.Miga napisał(a):

Co do tworzenia tabel i insertów. Robisz to na bazie master. Na belce tytułowej widać. Wpisz wcześniej use biblioteka, a następnie wykonaj polecenia.
Co do kasowania, to nie wiem co tam piszesz więc ciężko się odnieść...

Dziękuję, chyba pomogło.
Nie rozumiem dlaczego wpisując takie zapytanie:

CREATE TABLE ksiazka (
id_ksiazka INT NOT NULL PRIMARY KEY,
id_kategoria INT FOREIGN KEY,
tytul VARCHAR(200),
autor VARCHAR(70),
stron INT(4),
wydawnictwo varchar(50),
rok_wydania int,
opis varchar(500)
)

ciągle mam błąd:

Msg 102, Level 15, State 1, Line 19
Incorrect syntax near ','.

Wcześniej robiłem podobne zapytanie i przeszło

0

Niemożliwe. FOREIGN KEY wymaga podania do czego to jest klucz obcy tabela(pole).

0
Marcin.Miga napisał(a):

Niemożliwe. FOREIGN KEY wymaga podania do czego to jest klucz obcy tabela(pole).

USE bilbioteka
CREATE TABLE czytelnik (
id_czytelnik INT NOT NULL PRIMARY KEY,
imie VARCHAR(100),
nazwisko VARCHAR(100),
adres VARCHAR(200),
miasto VARCHAR(45),
wojewodztwo VARCHAR(100),
telefon VARCHAR(50),
kod_pocztowy VARCHAR(45),
email VARCHAR(100))

wcześniej coś takiego i zapytanie było prawidłowe

0

No tak. Nie widzisz różnicy?
Przecież jedno jest od tabeli czytelnik, a błędne od ksiazka... :)

0

Widzę, tylko dlaczego wyskakują mi błędy, że z przecinkami jest coś nie tak 😀?

0

zamiast:
id_kategoria INT FOREIGN KEY,
daj:
id_kategoria INT FOREIGN KEY kategorie(id_kategoria),

0
Marcin.Miga napisał(a):

zamiast:
id_kategoria INT FOREIGN KEY,
daj:
id_kategoria INT FOREIGN KEY kategorie(id_kategoria),

Msg 102, Level 15, State 1, Line 20
Incorrect syntax near 'kategorie'.

0

id_kategoria INT FOREIGN KEY REFERENCES kategorie(id_kategoria),

0
Marcin.Miga napisał(a):

id_kategoria INT FOREIGN KEY REFERENCES kategorie(id_kategoria),

Działa, thx.
I ostanie pytanko, jak dać klucz główny dla kolumny typu text? Pomijając fakt, że nie jest to wydajny sposób indeksowania. Wpisanie NOT NULL nie pomaga.

0

Normalnie - dopisać w definiejic kolumny PRIMARY KEY :)
Chyba że już masz, to wtedy nie zadziała.
Poza tym przy polach typu text w MS SQL dla PK chyba trzeba podać długość (ale tu mogę się mylić - pamięć już nie ta)

0
Marcin.Miga napisał(a):

Normalnie - dopisać w definiejic kolumny PRIMARY KEY :)
Chyba że już masz, to wtedy nie zadziała.
Poza tym przy polach typu text w MS SQL dla PK chyba trzeba podać długość (ale tu mogę się mylić - pamięć już nie ta)

Niestety wywala mi błąd: Column 'klasa' in table 'cennik' is of a type that is invalid for use as a key column in an index.

CREATE TABLE cennik(
klasa TEXT(20) NOT NULL PRIMARY KEY
);

Może spróbować z VARCHAR? :)

1

Przede wszystkim, to text jest obsolete i nie powinno się go używać od jakichś 10 lat.

1 użytkowników online, w tym zalogowanych: 0, gości: 1