Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Мне нужны или массивы в MSSQL 2000 или передаче таблицы в хранимую процедуру...
|
|||
|---|---|---|---|
|
#18+
Короче так... Мне нужны или массивы в MSSQL 2000 или передаче таблицы в хранимую процедуру... Для чего ? К примеру у меня упдэйтется таблица Table1. В тригере стоит условие if exists(select top 1 ID from Inserted I where Registred=1 and (Select top 1 Registred from Deleted Where ID=I.ID)=1) BEGIN exec Registration (select ID from Inserted I where Registred=1 and (Select top 1 Registred from Deleted Where ID=I.ID)=1) END /* Даже условия иногда проверять не нужно, просто запуск процедуры с этими параметрами, ну это не к моей теме*/ Так что, как в процедуре все это принять ??? Да, как там организовать что-то вродебы цикла по этой таблице, но без курсоров. Я знаю что можно с помощью SELECT это сделать. К примеру я использую вот такой случай в оджной процедуре select @ExecString=@ExecString+@TableName1+'.'+Name+'='+@TableName2+'.'+Name+', ' from SysColumns where ID=@ID_Table order by colorder Т.е. у меня накапливается значение в переменной @ExecString. ВНИМАНИЕ ВОПРОС: А вот мне бы хотелось тут вызывать какую-то процедуру.... Как это сделать ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2001, 16:55 |
|
||
|
Мне нужны или массивы в MSSQL 2000 или передаче таблицы в хранимую процедуру...
|
|||
|---|---|---|---|
|
#18+
трудно понять что же Вы хотите, может так пойдёт: declare @cnt int, @id int select @cnt=count(*), @id=max(i.ID) from inserted i, deleted d where i.Registred=1 and d.Registred=1 and i.ID=d.ID if @cnt=1 exec Registration @id Если же у Вас несколько значений адпейтится за раз, то я бы сделал постоянную таблицу, куда бы записывал ID и некий уникальный идентификатор, который затем бы и передавал в процедуре еще пара замечаний - конструкции if exists(select top 1 ID from... и if exists(select * from... абсолютно равнозначны, мне лично лень писать лишние символы - and (Select top 1 Registred from Deleted Where ID=I.ID)=1 - что-то я сомневаюсь что Вы это осознанно написали. Вы же не знаете какое значение выберется когда стоит top 1 и мой Вам совет: пока опыта на SQL нет - не используйте динамических запросов не туда это Вас приведёт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2001, 07:19 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32019383&tid=1824548]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 390ms |

| 0 / 0 |
