Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 Задай вопрос разработчику MsSQL!  [new]
ГАГН 2
Member [заблокирован]

Откуда: детройт, раша
Сообщений: 18867
Всех приветствую!

Сразу оговорюсь: я в майкросовтоском SQL-сервере не силён, но в ближайшем будущем есть возможность лично поговорить о данном сервере с разработчиками продукта, сотрудниками Майкрософта.
Если у кого есть какие-нибудь вопросы/предложения/соображения - практического ли плана, теоретического, или просто каким-либо образом относящиеся к данному продукту - пишите! Я с вашей помощью пообщаюсь с людьми из Майкрософта :) Ну и, разумеется, если будут интересующие ответы - обещаю здесь же и обсудить результаты мероприятия :)
2 апр 05, 16:43    [1436372]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Rustam Mukumov
Member

Откуда: Иркутск
Сообщений: 25
Пусть разширяют T-SQL
Например хотя бы пусть вводят типы данных поле из таблицы и запись таблицы.
Хочется использовать такие переменные
declare TT table1.field5,TR table2
Без них очень тяжело. Меняешь в талице тип поля или хотя бы ширину, приходится во всех хранимых процедурах найти переменные которые с этим полем каким то образом связаны и менять их описание.
Пусть почитают PL SQL и дальше думают, что нужно делать чтобы T-SQL был немножко удобнее
2 апр 05, 19:44    [1436560]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Glory
Member

Откуда:
Сообщений: 104760
Без них очень тяжело. Меняешь в талице тип поля или хотя бы ширину, приходится во всех хранимых процедурах найти переменные которые с этим полем каким то образом связаны и менять их описание.
А вы про UserDefinedDataType слышали ? Про sp_addtype ?
Они уже существуют дай бог сколько
2 апр 05, 20:20    [1436603]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Eugene Kogan
Member

Откуда: Microsoft, Redmond, WA, U.S.A.
Сообщений: 18
Ne umalyaja znachimosti lichnyh kontaktov, hochu napomnit', chto pozhelanija po uluchsheniju Microsoft SQL Server mozhno otpravlyat' na anglijskom na sqlwish@microsoft.com.

Eugene
(Prostite za translit - net russkoj klaviatury pod rukoj)
2 апр 05, 21:48    [1436661]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Rustam Mukumov
Member

Откуда: Иркутск
Сообщений: 25
Здравствуйте Glory.
Glory
А вы про UserDefinedDataType слышали ? Про sp_addtype ?
Они уже существуют дай бог сколько

А Вы уверены что это сработает?
Например я создал тип пользовательский TDestNumber как varchar(32)
И в БД имеется поле с таким типом, и написаны несколько хранимых процедур которые содержать переменные с этим же типом.
Возникла необходимость расширить поле до varchar(64), что я должен делать.
Тип я не могу уже изменить, если тип поля поменяю это не решает проблему, потому что во всех ХП должен поменять типы соответствующих переменных.
Или я чего то недопонимаю.... Если я неправ естественно извиняюсь и рад подсказке....
3 апр 05, 05:54    [1436841]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Glory
Member

Откуда:
Сообщений: 104760
потому что во всех ХП должен поменять типы соответствующих переменных.
use tempdb
go
if exists(select * from systypes where name = 'TDestNumber')
	exec sp_droptype 'TDestNumber'
go

if object_id('dbo.testproc') is not null drop procedure dbo.testproc
go

exec sp_addtype TDestNumber, 'varchar(32)', 'NULL'
go
create procedure dbo.testproc
as
declare @x TDestNumber
set @x = REPLICATE('A', 80000)
select @x, sql_variant_property(@x, 'BaseType'), sql_variant_property(@x, 'MaxLength')
go

exec dbo.testproc
go

if exists(select * from systypes where name = 'TDestNumber')
	exec sp_droptype 'TDestNumber'
go
exec sp_addtype TDestNumber, 'varchar(64)', 'NULL'
go
exec dbo.testproc
3 апр 05, 15:57    [1437074]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Rustam Mukumov
Member

Откуда: Иркутск
Сообщений: 25
Здравствуйте Glory
А Вы пробовали когда в БД несколько полей таблиц имеют данный тип TDestNumber?
4 апр 05, 10:56    [1437885]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Glory
Member

Откуда:
Сообщений: 104760
Rustam Mukumov
Здравствуйте Glory
А Вы пробовали когда в БД несколько полей таблиц имеют данный тип TDestNumber?

Автор писал про процедуры - "потому что во всех ХП должен поменять типы соответствующих переменных."
Про таблицы я знаю. И автор по всей видимсти тоже
4 апр 05, 11:06    [1437940]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Если меняется тип, то старый тип переименовывается, создается новый со старым названием, таблицам ALTER, процедурам recompile, старый тип грохается и все. Делов на 15 минут.
4 апр 05, 12:32    [1438354]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Rustam Mukumov
Member

Откуда: Иркутск
Сообщений: 25
Rustam Mukumov
Пусть разширяют T-SQL
Например хотя бы пусть вводят типы данных поле из таблицы и запись таблицы.
Хочется использовать такие переменные
declare TT table1.field5,TR table2
Без них очень тяжело. Меняешь в талице тип поля или хотя бы ширину, приходится во всех хранимых процедурах найти переменные которые с этим полем каким то образом связаны и менять их описание.
Пусть почитают PL SQL и дальше думают, что нужно делать чтобы T-SQL был немножко удобнее


Почитайте повнимательнее....
Именно речь идет о возможности использования одного и того типа и для поля таблицы и для переменной в ХП. Когда меняешь тип поля, соответствующие типы в переменных в ХП не пришлось менять. Я думаю тут все ясно что речь идет не только о ХП, именно о ХП в связке с полями в таблицах
4 апр 05, 12:33    [1438361]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Rustam Mukumov
Member

Откуда: Иркутск
Сообщений: 25
Crimean
Если меняется тип, то старый тип переименовывается, создается новый со старым названием, таблицам ALTER, процедурам recompile, старый тип грохается и все. Делов на 15 минут.

Речь не идет о том что без этого невозможно жить, представьте когда будет такая возможность сколько проблем решаются сразу.
4 апр 05, 12:35    [1438373]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Glory
Member

Откуда:
Сообщений: 104760
Почитайте повнимательнее....
Я как раз и читаю а не додумываю - "потому что во всех ХП должен поменять типы соответствующих переменных."
Я показал что как раз в процедурах ничего переопределять не надо.

Если ваше пожелание звучит как "Хочу налету менять UDDT и чтобы сервер автоматом изменял использующие его таблицы" то надо так и говорить.

Только я как будет выглядеть это автоматическое изменение для таблицы из пары миллионов записей ? А если место в логе закончится ? А если есть индексы(включая full-text), Computed Columns, Indexed Views на основе этого столбца ?
4 апр 05, 12:46    [1438448]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
aag
Member

Откуда: Москва
Сообщений: 1955
Чего не хватает мне в MS SQL (первое что пришло в голову):
1) Разделение ролей админа и разработчика. Чтобы последний мог запускать профайлер не будучи sa.
2) Нормальная обработка ошибок - концепция try .. exception и пр. SET XACT_ABORT не всегда удобен. Впрочем, последнее, кажется, появится в 2005-м. Про первое не знаю.

А изменение "на лету" типов данных полей - по-моему, не самое нужное. Не так часто это приходится делать.

Nobody faults but mine... (LZ)
4 апр 05, 13:05    [1438586]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Дамир1
Guest
А мне не хватает в TSQL:
1) sp_getapplock() - нет возможности просмотреть что этой функцией заблокировано.
1) массивов - иногда хочется
2) возможности добраться до полей таблицы по номеру поля.
Типа: Таблица.Поля[5].Значение := 40
3) хранимок (функций) с ограниченной областью видимости

Вообще, хочу на Делфи писать, только на стороне сервера :)

PS: только не надо меня тюкать: "да зачем это надо!" - Хочу! :)
4 апр 05, 13:23    [1438679]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Rustam Mukumov
Member

Откуда: Иркутск
Сообщений: 25
Извините Glory....
Я написал чтобы была возможность использовать типы данных
Declare @tf table1.field1,@tr table2
Думаю у Вас должно хватить фантазии чего я хочу...
Возможно мой коментарий к этому было лишним.
В коментарий я написал без такого расширения что приходится делать.
Основным было пожелание чтобы была такая возможность. И я не говорил что без такой возможности я не могу решить какие то проблемы.
Нужно читать весь текст, а не часть его и отвечать....
4 апр 05, 13:37    [1438763]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
aag
Member

Откуда: Москва
Сообщений: 1955
2 Дамир1
2) таблицы-переменные чем плохи?
3) через syscolumns, конечно, громоздко, но результата достичь вполне можно.


Nobody faults but mine... (LZ)
4 апр 05, 15:29    [1439357]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
dburtsev1
Member

Откуда: NY USA
Сообщений: 351
try try try
ну очень сильно не хватает обработки ошибок и исключений.
4 апр 05, 21:46    [1440128]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Хоть топик и тупиковый...

Не хватает элементарной продуманности применения большинства фич. То есть, фича-то есть, а вот пользовать ее - никак. По крайней мере в 2000 все именно так. Скажем, вводим триггер - непонятно что делать с @@error / @@identity. Придумали (наконец-то!) scope_identity() - ура? - фиг! появляется инстедный триггер и scope_identity() возвращает null. Есть вычисляемые поля и индексы по ним - ура? - хрена! - чтобы этим пользоваться надо ставить хитрые SET - опции (нахрена?). Опять же, даже если не строить индексы, то первая же статистика обламывает sqlmaint.exe. Тот же sqlmaint.exe - невозможно настроить обновление статистики без ресамплинга и т.д. и т.п.... Обидно.
Я уже просто молчком молчу про оптимизатор. И скучаю по оптимизатору от 6.5 Тот хоть не выделывался...
4 апр 05, 22:15    [1440148]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
ГАГН 2
Member [заблокирован]

Откуда: детройт, раша
Сообщений: 18867
Всем спасибо за конструктив! Завтра будем спрашивать :)

Как я понял, наиболее острые проблемы - вопросы по обработке ошибок,
возможность работы с массивами (тут имеется ввиду тип поля array?).
Также можно поднять вопрос по поводу выделения роли разработчика, дабы
он мог нормально работать, не прибегая к каким-либо другим правам (aag,
тут я Вас правильно понял?).
Crimean, очень хотелось бы уточнить момент с оптимизатором!
5 апр 05, 07:42    [1440321]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Даутов
Member

Откуда: Казань
Сообщений: 502
Внимание !
Не хочу обидеть автора,
но 95% его сообщений приходится на форум "Просто треп"
5 апр 05, 09:19    [1440495]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
ГАГН 2
Member [заблокирован]

Откуда: детройт, раша
Сообщений: 18867
ещё больше на AREA-51 :)
но в данном случае, дело-то не в этом...
5 апр 05, 11:07    [1440961]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Alexey_vv2005
Member

Откуда:
Сообщений: 26
На сколько мне известно, при откате вложенной не именованной транзакции счётчик транзакций выставляется в ноль и откат либо приём родительской транзакции не произойдет. Требую объяснений!!!
И ещё, как работает данный механизм в случае именованных транзакций?
5 апр 05, 11:19    [1441005]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Glory
Member

Откуда:
Сообщений: 104760
Требую объяснений!!!
В MSSQL НЕТ вложенных транзакций. И поведение ROLLBACK документировано

ROLLBACK TRANSACTION without a savepoint_name or transaction_name rolls back to the beginning of the transaction. When nesting transactions, this same statement rolls back all inner transactions to the outermost BEGIN TRANSACTION statement. In both cases, ROLLBACK TRANSACTION decrements the @@TRANCOUNT system function to 0. ROLLBACK TRANSACTION savepoint_name does not decrement @@TRANCOUNT.
5 апр 05, 11:36    [1441069]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
ГАГН 2
Member [заблокирован]

Откуда: детройт, раша
Сообщений: 18867
а есть вообще сервера, поддерживающие вложение транзакций??
имхо, вложенная транзакция - это на 100% ошибка проектирования приложения
5 апр 05, 11:47    [1441124]     Ответить | Цитировать Сообщить модератору
 Re: Задай вопрос разработчику MsSQL!  [new]
Glory
Member

Откуда:
Сообщений: 104760
а есть вообще сервера, поддерживающие вложение транзакций??
Вложенных кажется нет. Автономных внутри другой транзакции - есть. Oracle к примеру
5 апр 05, 11:50    [1441139]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить