Есть ли замена для Transact-SQL

Впервые за годы я делал некоторое программирование T-SQL в SQL Server 2008 и забыл, как плохо язык действительно:

  • Управление потоком (весь начать/закончить материал) чувствует себя неуклюжим
  • Обработка исключений плоха. Исключения не пузырятся таким же образом, они делают на любом языке. Нет никакого переброска, если Вы не кодируете его сами, и функция raiserror даже не записывается правильно (это вызвало меня некоторые головные боли!)
  • Строковая обработка плоха
  • Единственный тип последовательности является таблицей. Я должен был записать функцию для разделения строки на основе разделителя и должен был сохранить его в таблице, которая имела строковые части наряду со значением, указывающим там на положение в последовательности.
  • Если Вам нужно к doa поиску в сохраненном proc, тогда управляющем результатами, является болезненным. Или необходимо использовать курсоры или взлом вместе некоторое время цикл с вложенным поиском, если результаты содержат своего рода столбец упорядочивания

Я понимаю, что мог кодировать свои хранимые процедуры с помощью C#, но это потребует, чтобы управление правами сервер позволило функции CLR, который не является опцией на моем рабочем месте.

Делает любой знает, существуют ли какие-либо альтернативы T-SQL в SQL Server, или если существуют любые планы представить что-то. Конечно, там получен, чтобы быть более современной альтернативой...

PS: Это не предназначается для запуска войны пламени, я действительно интересуюсь тем, каковы опции.

11
задан 3 revs, 2 users 100% 21 February 2010 в 10:42
поделиться

3 ответа

В T-SQL нет ничего плохого; он выполняет ту работу, для которой был предназначен (за исключением, возможно, добавления структур потока управления, но я отвлекся!).

Может быть, взгляните на LINQ ? Вы можете написать Хранимые процедуры CLR , но я не рекомендую это делать, если это не связано с отсутствием какой-либо функции (или тяжелой обработки строк).

8
ответ дан 3 December 2019 в 08:55
поделиться

Все остальные языки хранимых процедур баз данных (PL / SQL, SQL / PSM) имеют примерно те же проблемы. Лично я считаю, что эти языки идеально подходят для того, для чего они предназначены - их лучше всего использовать для выполнения логики кода, управляемой данными, особенно. если вы хотите повторно использовать это для нескольких приложений.

Думаю, мой встречный вопрос к вам: почему вы хотите, чтобы ваша программа выполнялась как часть процесса сервера базы данных? Разве то, что вы пытаетесь сделать, лучше не решается на уровне приложений или промежуточного программного обеспечения? Там вы можете выбрать любой язык или любой инструмент обработки данных по вашему выбору.

3
ответ дан 3 December 2019 в 08:55
поделиться

С моей точки зрения, единственная альтернатива T-SQL в SQL Server - НЕ использовать SQL Server

Согласно вашей точке обработки строк с разделителем, Откуда эти строки? {{1} } Вы можете попробовать службы интеграции и "пакеты ssis" для преобразования данных из одних в другие. Также есть удобный способ доступа к данным, не относящимся к SQL, через связанные службы,

2
ответ дан 3 December 2019 в 08:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: