powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Двоеточие в идентификаторах
27 сообщений из 27, показаны все 2 страниц
Двоеточие в идентификаторах
    #35653242
Alexander_Vi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, есть ли в природе базы данных , позволяющие использовать двоеточие (:) в именах параметров ?
Идеально было бы если бы кто-нить ткнул меня носом в соотв. раздел ANSI SQL где было бы сказано, что : нельзя использовать в идентификаторах.
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35653243
Фотография voledy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_ViПодскажите, есть ли в природе базы данных , позволяющие использовать двоеточие (:) в именах параметров ?
Идеально было бы если бы кто-нить ткнул меня носом в соотв. раздел ANSI SQL где было бы сказано, что : нельзя использовать в идентификаторах.


Код: plaintext
select id_comp id: from company 

Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'from'.
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35653245
Фотография voledy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_ViПодскажите, есть ли в природе базы данных , позволяющие использовать двоеточие (:) в именах параметров ?
Идеально было бы если бы кто-нить ткнул меня носом в соотв. раздел ANSI SQL где было бы сказано, что : нельзя использовать в идентификаторах.

Хотя в Firebird можно...


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
CREATE PROCEDURE CAPTION (
    str varchar( 1024 ))
returns (
    stttrade varchar( 1024 ),
    sttinn varchar( 1024 ))
as
declare variable i bigint;
begin

  execute procedure deleteznak(:str)
  returning_values(:str);
  execute procedure editword(:str)
  returning_values(:str);

  select first  1  a.stt , a.hesh from arrayname(:str) a
  order by a.countword desc ,a.ch_len desc
  into :str , :i;

    select first  1  tradenmr ,y.tradenmnx
      from
      (
       select id_tradenm
        from
        (
         select  a.id_tradenm, a.name_hesh from tradenmHESH a
         where a.hesh = :i
        )x where name_hesh = :str
       )x join tradenm y on TRADENMNX = id_tradenm
    into :stttrade ,:i ;

  select first  1  innr from inn a join tndp b on a.innnx = b.innnx
                      where b.tradenmnx = :i
  into :sttinn;
  suspend;

end
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35653246
Фотография voledy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но только в ХП, да тригерах...

---------
:o)=|=<
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35653301
Alexander_Vi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
voledyно только в ХП, да тригерах...

---------
:o)=|=<

Ок, тогда немного сузим область : меня интересуют только имена параметров ... вроде как по опыту использовать : в параметрах никакая база не дает, но хотелось бы какого-нить документального подтверждения ( как я уже писал выше ANSI SQL было бы супер, только чето-то не могу найти )

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35653589
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_Viвроде как по опыту использовать : в параметрах никакая база не дает
Ну почему же. Вот, например, в Oracle двоеточие можно использовать где угодно, хоть в именах объектов, хоть в переменных, хоть в параметрах.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
SQL> create table ":table" (":column" integer);

Таблица создана.

SQL> insert into ":table"(":column") values( 1 );

 1  строка создана.

SQL> create procedure ":proc"(":param" integer)is
   2     ":count" integer;
   3   begin
   4     select ":column" into ":count" from ":table" where ":column"=":param";
   5     dbms_output.put_line(':count='||":count");
   6   end;
   7   /

Процедура создана.

SQL> set serveroutput on
SQL> exec ":proc"( 1 )
:count= 1 

Процедура PL/SQL успешно завершена.

SQL> drop procedure ":proc";

Процедура удалена.

SQL> drop table ":table";

Таблица удалена.
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35653696
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyНу почему же. Вот, например, в Oracle двоеточие можно использовать где угодно, хоть в именах объектов, хоть в переменных, хоть в параметрахС квотированными идентификаторами, думаю, где угодно можно использовать что угодно :)
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35653707
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voledyХотя в Firebird можно... Как обычно : читая книгу увидел...

В Firebird в PSQL двоеточие перед идентификатором служит для отделения имён переменных\параметров от других идентификаторов.
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35654070
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,
а вы часом не из firebird team?
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35654390
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyhvlad,
а вы часом не из firebird team?Да
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35654862
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladДа
О!
А раскажите мне, если имеете такую информацию, для зачем у вас там и \src\dsql\parse.y и \src\gpre\sql.cpp?
Первый, насколько я понял - yacc грамматика, второй - ручнописный javacc-like парсер.
И если я прав - зачем их два а не один?
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35654898
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lockyhvladДа
О!
А раскажите мне, если имеете такую информацию, для зачем у вас там и \src\dsql\parse.y и \src\gpre\sql.cpp?
Первый, насколько я понял - yacc грамматика, второй - ручнописный javacc-like парсер.
И если я прав - зачем их два а не один?Если спросите в правильном форуме - обязательно расскажу :)
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35654997
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЕсли спросите в правильном форуме - обязательно расскажу :)
Firebird-2.1.1.17910-0 - вопрос по parse.y и sql.cpp
Tnx.
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655482
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
voledyAlexander_ViПодскажите, есть ли в природе базы данных , позволяющие использовать двоеточие (:) в именах параметров ?
Идеально было бы если бы кто-нить ткнул меня носом в соотв. раздел ANSI SQL где было бы сказано, что : нельзя использовать в идентификаторах.


Код: plaintext
select id_comp id: from company 

Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'from'.

MS SQL

Код: plaintext
1.
2.
3.
4.
USE Northwind

SELECT     CustomerID  [id:]
FROM         Customers

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
ALFKI
ANATR
ANTON
AROUT
BERGS
BLAUS
BLONP
BOLID
BONAP
BSBEV
CACTU
CENTC
CHOPS
CONSH
DRACD
DUMON
EASTC
ERNSH
FISSA
FOLIG
FOLKO
FRANK
FRANR
FRANS
FURIB
GALED
GODOS
KOENE
LACOR
LAMAI
LEHMS
MAGAA
MAISD
MORGK
NORTS
OCEAN
OTTIK
PARIS
PERIC
PICCO
PRINI
QUICK
RANCH
REGGC
RICSU
ROMEY
SANTG
SEVES
SIMOB
SPECD
SUPRD
TOMSP
TORTU
VAFFE
VICTE
VINET
WANDK
WARTH
WILMK
WOLZA
OLDWO
BOTTM
LAUGB
LETSS
HUNGO
GROSR
SAVEA
ISLAT
LILAS
THECR
RATTC
LINOD
GREAL
HUNGC
LONEP
THEBI
MEREP
HANAR
QUEDE
RICAR
COMMI
FAMIA
GOURL
QUEEN
TRADH
WELLI
HILAA
LAZYK
TRAIH
WHITC
SPLIR
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655484
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
hvladlockyhvlad,
а вы часом не из firebird team?Да
Чем дальше, тем мне больше мне firebird team жальче.
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655588
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Чем дальше, тем мне больше мне firebird team жальче.Это такой глупый развод на флейм ? Не выйдет
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655611
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
hvladЭто такой глупый развод на флейм ? Не выйдет
Я просто подсказал по вопросу в заглавном топике и посочувствовал.
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655693
Alexander_Vi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladBogdanov AndreyНу почему же. Вот, например, в Oracle двоеточие можно использовать где угодно, хоть в именах объектов, хоть в переменных, хоть в параметрахС квотированными идентификаторами, думаю, где угодно можно использовать что угодно :)

Есть ли какой нибудь символ, который нельзя использовать в именах параметров ( даже с квотированными идентификаторами ) ?
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655702
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_ViЕсть ли какой нибудь символ, который нельзя использовать в именах параметров ( даже с квотированными идентификаторами ) ? а с какой целью спрашиваете? такое ощущение что какую-то пакость удумали сделать
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655712
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_VihvladBogdanov AndreyНу почему же. Вот, например, в Oracle двоеточие можно использовать где угодно, хоть в именах объектов, хоть в переменных, хоть в параметрахС квотированными идентификаторами, думаю, где угодно можно использовать что угодно :)

Есть ли какой нибудь символ, который нельзя использовать в именах параметров ( даже с квотированными идентификаторами ) ?


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 5.2 <token> and <separator> 

<delimited identifier> ::=
    <double quote> <delimited identifier body> <double quote>

<delimited identifier body> ::=
    <delimited identifier part>...

<delimited identifier part> ::=
      <nondoublequote character>
    | <doublequote symbol>

<nondoublequote character> ::=
    !! See the Syntax Rules.

<doublequote symbol> ::=
    "" !! two consecutive double quote characters

 Syntax Rules 
...
6) A <nondoublequote character> is any character of the source language character set other than a <double quote>.
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655713
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2hvladЭто такой глупый развод на флейм ? Не выйдет
Я просто подсказал по вопросу в заглавном топике и посочувствовал.Хорошо, что в Customers была не тысяча записей...
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655730
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander_ViЕсть ли какой нибудь символ

Ну, я думаю - редкое API переживёт нуль в лбьом месте запроса, сключая
параметры.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655782
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНу, я думаю - редкое API переживёт нуль в лбьом месте запроса, сключая
параметры.

OCI позволяет в квотированном имене параметра иметь что угодно, например вот такую галиматью:
Код: plaintext
OCIStmtPrepare(..., PChar('SELECT * FROM "Region" WHERE RegionID > :"'# 0 '"'), ...)
В остальном, имя параметра, если оно доходит до СУБД, а не используется только библиотекой
доступа к данным (ODBC, например), подчиняется синтаксическим правилам идентификаторов
этой СУБД, ИМХО ...
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655832
Микросекунда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE TABLE TTT (
    "ID













2"  INTEGER
);
FB 2.1 + IBExpert проглатывает и даже работает вроде :)
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655835
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev
Код: plaintext
PChar('SELECT * FROM "Region" WHERE RegionID > :"'# 0 '"')

А как оно отличает этот нуль от конца PChar-а? Ещё один параметр на длину?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655901
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЕщё один параметр на длину?
Так точно. И так в большинстве API'ей. В некоторых есть возможность указать, что
длину вычислять самому API, ищя первый #0. Например SQL_NTS в ODBC. Но, ИМХО,
это полезно только при прямом использовании API тем, что меньше писать кода.
...
Рейтинг: 0 / 0
Двоеточие в идентификаторах
    #35655902
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микросекундапроглатывает и даже работает вроде :)
Дык оно только страшно выглядит, а парсеру страшно не бывает
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Двоеточие в идентификаторах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]