#sql #dml
#sql #dml
Вопрос:
CREATE TABLE DBD_D_155150401111052.STUDENT(
STUDENT_ID VARCHAR(20) NOT NULL,
PRIMARY KEY (STUDENT_ID),
STATE_ID CHAR(3),
CONSTRAINT STATE_ID FOREIGN KEY (STATE_ID) REFERENCES DBD_D_155150401111052.PROPINSI (STATE_ID),
CITY_ID CHAR(3),
CONSTRAINT CITY_ID FOREIGN KEY (CITY_ID) REFERENCES DBD_D_155150401111052.KOTA (CITY_ID),
NAME VARCHAR(45),
BIRTH_DATE DATE,
COURSE VARCHAR(10)
);
INSERT INTO DBD_D_155150401111052.STUDENT (STUDENT_ID, NAME, BIRTH_DATE, CITY_ID, STATE_ID, COURSE)
VALUES ('1111171', 'DEMILOV', '1997-05-01', 'A01', '001', 'SI-A'),
('1111172', 'MICHAEL', '1996-03-20', 'A01', '001', 'SI-A'),
('1111181', 'IRVING', '1998-10-14', 'C01', '003', 'IF-B'),
('1111182', 'JHON', '1998-08-15', 'B01', '002', 'IF-C'),
('1111191', 'THEODORE', '1996-01-02', 'A03', '001', 'IF-A'),
('1111192', 'SALLY', '1995-12-31', 'A02', '001', 'SI-B'),
('1111212', 'JASON', '1997-07-28', 'A02', '001', 'IF-B'),
('1111213', 'DAVID', '1998-11-11', 'B02', '002', 'IF-C'),
('1111214', 'JAMES', '1997-12-12', 'C01', '003', 'SI-B'),
('1111215', 'HELENA', '1996-06-08', 'C01', '003', 'IF-B');
UPDATE TABLE DBD_D_155150401111052.STUDENT
SET COURSE = 'SI-B'
WHERE STUDENT_ID = '1111171';
Я не могу выполнить последний запрос.
В предупреждении говорится, что ожидалось «ПРИСОЕДИНИТЬСЯ» вместо «.», но я понятия не имею, как это исправить.
Значение таблицы не может быть обновлено, поскольку имя таблицы включает схему, есть ли какой-либо способ обновить значение?
Комментарии:
1. Попробуйте
Update [DBD_D_155150401111052.STUDENT]
2. Похоже, кто-то предложил тебе
UPDATE TABLE TABLENAME SET..
, но так и должно бытьUPDATE TABLENAME SET..
3. Какую СУБД вы используете?
Ответ №1:
TABLE
не является частью UPDATE
синтаксиса. Я бы посоветовал вам попробовать:
UPDATE DBD_D_155150401111052.STUDENT
SET COURSE = 'SI-B'
WHERE STUDENT_ID = '1111171';
Ответ №2:
Table
это зарезервированное слово, попробуйте это :
UPDATE [DBD_D_155150401111052.STUDENT]
SET COURSE = 'SI-B'
WHERE STUDENT_ID = '1111171';