Я получаю сообщение об ошибке при попытке сделать это с помощью SQL. ftp.server ключ, значение которого я хотел бы изменить:Что такое следующая инструкция sql, дающая ошибку?
UPDATE OL_PREF SET ftp.server='dev.isinet.com'
Я получаю сообщение об ошибке при попытке сделать это с помощью SQL. ftp.server ключ, значение которого я хотел бы изменить:Что такое следующая инструкция sql, дающая ошибку?
UPDATE OL_PREF SET ftp.server='dev.isinet.com'
Если имя столбца действительно ftp.server
, то правильный синтаксис Oracle для его обновления должен быть
UPDATE OL_PREF SET "ftp.server" ='dev.isinet.com'
в Oracle, двойные кавычки правильный способ обработки имен столбцов, которые имеют нестандартные символы, включая строчные буквы и период. Обратите внимание, что для этого необходимо иметь точное имя столбца, включая случай.
Вы можете проверить имя столбца с:
SELECT column_name FROM user_tab_columns WHERE table_name='OL_PREF' ORDER BY column_name;
Если то, что вы на самом деле означает, что у вас есть таблица, в которой хранятся пары ключ-значение, и что «ftp.server» является ключом, то вы вероятно, хотите получить обновление, подобное тому, которое было в ответе Марка Уилкинса.
UPDATE OL_PREF
SET ftp.server ='dev.isinet.com'
нет '' для имен столбцов
все еще не работает – Phoenix
Какая ошибка? –
'ftp.server' в кавычках. (И это не должно быть)
ftp.server выглядит как имя поля и не должен быть заключен в кавычки –
Я думаю, он говорил, что изначально OP использовал цитаты вокруг «ftp.server». – bfavaretto
Я имею в виду, что неправильная часть - это кавычки. – Onur
UPDATE OL_PREF SET [ftp.server]='dev.isinet.com'
или
UPDATE OL_PREF SET [ftp].[server]='dev.isinet.com'
, если FTP является схемой и сервером является имя_полем.
Я не верю, что это правильно для Oracle. –
Вы не можете поместить имя столбца в кавычки.
Вы можете использовать скобки, которые имеют такую же функциональность как и цитаты.
UPDATE OL_PREF SET [ftp.server] ='dev.isinet.com'
Кроме того, это хорошая идея использовать «двухставочный именование», с указанием схемы, а также:
UPDATE dbo.OL_PREF SET [ftp.server] ='dev.isinet.com'
Вы получаете ошибку ORA-00904 string: недопустимый идентификатор?
Если так read this
Я сделал быстрый тест на этом
SQL> create table t_tab_1 (tname varchar2(3), "ftp.service" varchar2(20));
Таблица создана.
SQL> insert into t_tab_1(tname,"ftp.service") values('21','ftp://fila');
1 ряд созданных.
SQL> update t_tab_1 set "ftp.service"='fila.real.com';
1 ряд обновлен.
Если в вашей таблице больше, чем я, запомните, чтобы использовать предложение where в инструкции по обновлению.
Какие СУБД вы используете? – squillman
i m using oracle rdbms – Phoenix
- это поле, фактически называемое «ftp.server»? –