dodanie kolumny za pomocą Alter z wartościami ?

0

Mam takie zadanie czy ktoś może mi pomóc bo trochę nie wiem jak do tego podejść :
"Dzięki zastosowaniu SQL ALTER, dodać nową kolumnę o nazwie Numer_pokoju do tabeli Komputery . Ma on przyjmować wartości C2: 06, E1: 01 itd . "
za pomoc serdeczne dzięki

0

A co już zrobiłeś? Z czym jest problem? Jeśli nie wiesz jak użyć składni ALTER to trzeba przeczytać dokumentację.

0

Nie za bardzo rozumiem to polecenie ---Ma on przyjmować wartości C2: 06, E1: 01 itd .-----

0

Teraz mam pytanie bo może chodzi o to , czy jest coś takiego w sql jak w Access kiedynaprzyklad wpisuje kod pocztowy to wpisuje ciag liczb a program sam rozdziela. Czy jest taka opcja zeby np wpisuje 12345678901234567890 a w kolumne dzieli na 12345-67890-12345-67890 czyli automatyczne uzupelnianie z podzialem .czyli wpiisze c206 a program podzieli na c2:06

0

Możesz to zawrzeć w procedurze która będzie odpowiedzialna za insertowanie danych z formularza do bazy albo napisać trigger. Możesz też po stronie aplikacji maske zawrzeć.

1

dla 1 przykładu użyj funkcji:
regexp_replace
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions130.htm

select  
     REGEXP_REPLACE('12345678901234567890', '(\d{5})(\d{5})(\d{5})(\d{5})', '\1-\2-\3-\4') 
from dual;

dla 2 przykładu:

SELECT     
           substr(nazwa_kol,1,2)||':'||substr(nazwa_kol,3,4) as nazwa_kol
FROM nazwa_tab;

To są przykłady na bazę Oracle , podaj nazwę bazy jaką używasz

0

Kasia Kasia mam jedno pytanie bo komenda ma stworzyc kolumne przez Alter. Czy możesz mi pomóc jak to przerobić

0

Ja używam navicat for mysql czy możesz powiedzieć mi jak ma wyglądać ten kod bo trochę jesyem już załamany.

1

nie mam zainstalowanej bazy MySQL , mam Oracle . Z tego co pamietam , składnia powinna być taka sama.

na początku tworzymy tab dla przykładu :

create table RowA (
      rowaa char(5)   );

następnie ograniczenie:

ALTER TABLE RowA
ADD CONSTRAINT check_REGEXP_REPLACE
  CHECK  ( substr(rowaa,1,1)   BETWEEN 'a' AND 'z'
   AND  substr(rowaa,3,1) = ':'   
   AND substr(rowaa,4,2) BETWEEN '0' AND '9'
  )

dodajemy :

 insert into RowA VALUES  ('c2:05');

komunikat :
1 rows inserted.

dodajemy :

 insert into RowA VALUES  ('ABC12');

zwraca komunikat błędu:
Error starting at line 16 in command:
insert into RowA VALUES ('ABC12')
Error report:
SQL Error: ORA-02290: naruszono więzy CHECK (SYS.CHECK_REGEXP_REPLACE)
02290. 00000 - "check constraint (%s.%s) violated"
*Cause: The values being inserted do not satisfy the named check
*Action: do not insert values that violate the constraint.

czyli nasze ograniczenie działa

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