Подписаться на блог
В Твиттере

Реплики и ссылки на заметки

В Фейсбуке

Ссылки на заметки

Вконтакте

Ссылки на заметки

В Телеграме

Ссылки на заметки

В Тумблере

Заметки целиком

В Же-же

Заметки целиком

По РСС

Заметки целиком

Если что-то из этого не работает, напишите мне: ilyabirman@ilyabirman.ru.

SQL inside

Интересно, а есть языки программирования, где можно писать так:

$user = auth ();
if ('admin' == $user)
  delete from `Notes` where `ID` = $_GET['id'];
else
  update `Notes` set `AttempsToIllegallyDeleteNote` = `AttempsToIllegallyDeleteNote`+1 where `ID` = $_GET['id'];


По идее, клёво было бы.

Update: А вот так — вообще красота:

$a = select * from `Notes` where `Stamp` > $some_stamp order by `Stamp` [$i];

Или вот:

foreach (select * from `Notes` as $note) { ... }
Подписаться на блог
Поделиться
Отправить
7 комментариев
Inferno
Неужели так намного длинее?

$this->db->Query('delete from 'Notes' where 'ID' = '".$_GET['id']."'");
Илья Бирман
Оно не длиннее, оно уродливее. Оно требует экранирования кавычек в кавычках, и так далее.

Например, if ($a) b (); else c() выглядит как полное г.; if a then b else c читать намного приятнее.
Inferno
А не надо их экранировать, типографить их надо.
artreal
Embeded sql.
Детали самого интерфейса с sql зависят от host-language и от его политики в области общих имен и common-блоков
Weasel
T-SQL от Microsoft.
Мы так практически и пишем...
Илья Бирман
А можно поподробнее, пожалуйста?
Weasel
Ну, примерно так:

%% select @VATExtra = VATExtra
from ExtraVAT e, Client c with( nolock )
where c.CategoryID = e.CategoryID
and c.ClientID = @ClientID

if ( @VATExtra = 0 ) return @CostWithVAT
%%

Разве что цикл по выборке коряво организовывать приходится...
Weasel
Уточняю: язык T-SQL — это язык хранимых процедур сервера MS-SQL. Достаточно мощный, чтобы на нём без проблем писать всю бизнес-логику билинга.

Вот только ООП там и не пахнет :)
Илья Бирман
Да он и не нужен вроде как ;)

Ясно, спасибо.
q
T-SQL тут вообще не по теме. А Embedded SQL сначала обрабатывает препроцессор. Такой препроцессор можно и для PHP организовать.

Пользовательский интерфейс
Доступен первый раздел
электронного учебника

Популярное