CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Typy danych w SQL Server 2008

Typy danych w SQL Server 2008

Problemy związane z tworzeniem i zarządzaniem programami bazo-danowymi.
Regulamin działu


Zadając pytania dotyczące baz danych należy podawać szczegółowe informacje o bazie danych nad którą się pracuje, czyli:

  • Rodzaj serwera bazodanowego: MySql, MSSQL, Oracle itp.
  • Wersja bazy danych
  • Technologia bazodanowa używana w programie: ADO, DbExpress, InterBase
  • Komponenty użyte do zestawienia połączenia: ADOConnection, SqlConnection
  • Sposób zestawienia komponentów bazodanowych np. DataSet - DataSource - DbGrid lub DataSet - DataSetProvider - ClientDataSet - DataSource - DbGrid
  • Jeżeli używane były biblioteki innych firm niż Borland, CodeGeer i Embarcadero proszę podać ich nazwy, numer wersji i adres źródła.

Typy danych w SQL Server 2008

Nowy postprzez Android » piątek, 30 lipca 2010, 22:13

Witam,
1. Chciałem stworzyć swoj typ danych w SQL Server 2008, ktory bedzie przechowywał wartosci TAK i NIE (polska wersja logicznego).
W interbase służyło do tego polecenie CREATE DOMAIN nazwa VALUES('TAK','NIE'); niestety nie moge znalezc odpowiednika dla SQL SERVER 2008.
2. Przeglądałem opisy wbudowanych typów danych (przy okazji szukając odpowiedzi na punkt 1) i ku mojemu zdziwieniu SQL Server nie ma typu bool/boolean itp, z jakiego typu najlepiej korzystać do obsługi wartości logicznych?
Z góry dziękuje za pomoc :)
Pozdrawiam
Avatar użytkownika
Android
Bladawiec
Bladawiec
 
Posty: 46
Dołączył(a): poniedziałek, 5 kwietnia 2010, 16:51
Podziękował : 16
Otrzymał podziękowań: 2
System operacyjny: Windows 7 Pro x64
Kompilator: C++ Builder XE2
Gadu Gadu: 0
    Windows 7Firefox

Re: Typy danych w SQL Server 2008

Nowy postprzez Cyfrowy Baron » sobota, 31 lipca 2010, 13:52

Na tej stronie http://searchsqlserver.techtarget.com/feature/Using-T-SQL-data-types-in-SQL-Server-2008 znajdziesz dużo na temat SQL Server 2008.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4731
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 444
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Typy danych w SQL Server 2008

Nowy postprzez Android » sobota, 31 lipca 2010, 14:50

Dzieki :)
Narazie udało mi się znaleźć jak tworzyć typ danych za pomocą komendy exec sp_addtype nazwa, [typ wbudowany], [wolny badz nie null], po wykonaniu tego polecenia typ jest dostępny w folderach z typami deklarowanymi przez użytkownika (z poziomu SQL Server Management Studio) niestety to nie rozwiązuje do końca moich problemów. Nie udało mi się podać konkretnych wartości jakie może przyjmować nowy typ danych (odpowiednik sekcji values('TAK','NIE')). Nowe typy, które tworze działają jak alias dla starego typu danych. Teoretycznie komenda

KOD cpp:     UKRYJ  
exec sp_addtype logiczny, 'nvarchar(3)', not null;


powinna załatwić sprawę jeśli tylko byłaby możliwość podania możliwych wartości, szukałem kilka godzin w sieci (strony polskie i angielskie) i helpie i niestety nie udało mi się znaleźć ani słowa o jakimś odpowiedniku sekcji values w tym kontekście. Wpisanie

KOD cpp:     UKRYJ  
 exec sp_addtype logiczny, 'nvarchar(3) values('TAK','NIE')', not null;


powoduje zgłoszenie błędu. Nie pamiętam dokładnie angielskiej treści ale w tłumaczeniu znaczyło, że parametr values jest nie poprawny / nie właściwy.
Z tego co na szybko przejrzałem link od Ciebie to tam też tego nie ma - podobnie jak na większości stron są opisy standardowych typów i ewentualnie kod podany przeze mnie do tworzenia "aliasu" dla typu.
Jeśli ktoś byłby zainteresowany, to ze swojej strony mogę podać link do całkiem solidnie zrobionego tutoriala w wersji angielskiej


http://www.functionx.com/sqlserver/
Avatar użytkownika
Android
Bladawiec
Bladawiec
 
Posty: 46
Dołączył(a): poniedziałek, 5 kwietnia 2010, 16:51
Podziękował : 16
Otrzymał podziękowań: 2
System operacyjny: Windows 7 Pro x64
Kompilator: C++ Builder XE2
Gadu Gadu: 0
    Windows 7Firefox

Re: Typy danych w SQL Server 2008

Nowy postprzez Cyfrowy Baron » sobota, 31 lipca 2010, 15:49

Może w tej wersji bazy danych typ boolean jest reprezentowany przez typ integer, w c++ zmiennej typu bool można przypisywać wartośći typu int i tak false = 0, a true = wartości różne od 0.

http://www.webdeveloper.com/forum/showthread.php?t=209453
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4731
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 444
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Typy danych w SQL Server 2008

Nowy postprzez Android » sobota, 31 lipca 2010, 20:58

Doszukałem się informacji (m.in. na stronie od Ciebie też to było), że alternatywa dla typu boolean jest typ bitowy - bit, który przyjmuje wartości 0 i 1 chociaż faktycznie można sobie poradzić na zwykłym int lub nawet char/nchar - z tym, ze w aplikacji będzie trzeba odczytać wartość i sprawdzić na if'ie co ma zrobić. W interbase (a właściwie przy komponencie IBQuery) było wygodniej bo można było skorzystać z odczytywania danych jako logiczne i rozwiązywało to problem. Chyba nie ma niczego specjalnie dedykowanego jako typ logiczny - przeglądałem masę stron z opisem typów danych i nigdzie nie pojawia się w ogóle kategoria typów logicznych.
Nadal szukam informacji jak podać spis możliwych wartości we własnym typie lub po prostu przy deklarowaniu kolumny tabeli.
Avatar użytkownika
Android
Bladawiec
Bladawiec
 
Posty: 46
Dołączył(a): poniedziałek, 5 kwietnia 2010, 16:51
Podziękował : 16
Otrzymał podziękowań: 2
System operacyjny: Windows 7 Pro x64
Kompilator: C++ Builder XE2
Gadu Gadu: 0
    Windows 7Firefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Bazy danych

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość

cron