|
Пишу вторую в жизни хранимую процедуру. Поможите :)
|
|||
---|---|---|---|
#18+
Задача: Есть таблица Unicator, в которой одна запись и куча полей. В ней хранятся идентификаторы для новых записей. При создании записи нужно получить результат, равных имеющемуся значению+1 и изменить имеющееся значение. Пишу: CREATE PROCEDURE [dbo].[SP_GetNewID] @vchIDName varchar(30), @iReturn int output as set nocount on begin transaction select @iReturn = (select (@vchIDName + 1) from Unicator) Update Unicator Set @vchIDName = @iReturn commit GO Тест на корректность проходит, процедура сохраняется. Но при вызове из Дельфи ругается: 'Syntax error converting the varchar value 'такое-то' to a column or data type int'. Что я делаю неправильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2001, 04:21 |
|
Пишу вторую в жизни хранимую процедуру. Поможите :)
|
|||
---|---|---|---|
#18+
Может я и ошибаюсь, но по-моему неправильное - в строке select @iReturn = (select (@vchIDName + 1) from Unicator) Насколько я понимаю, varchar это нечто символьное. И как Вы прибавляете к нему 1 ??!! К тому же, этот результат сложения баранов с вертолётами пытаетесь присвоить переменной типа int. (может, сервер и поддерживает такие операции, но я об этом, сорри, не знал) Далее. Судя по всему, @vchIDName - входная переменная. Если она содержит имя поля в таблице Unicator, то я ещё могу понять строку Update Unicator Set @vchIDName = @iReturn В противном случае упоминания в селекте и апдейте таблицы Unicator просто бессмысленны! Помогло бы совесное описание. Но оно только запутывает (меня, по крайней мере). В ней хранятся идентификаторы для новых записей ЧЕГО? При создании записи ГДЕ? (в коде процедуры я не вижу никаких созданий чего-либо) имеющемуся значению ГДЕ? Поподробнее пожалуйста! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2001, 05:47 |
|
|
start [/forum/topic.php?fid=58&fpage=2089&tid=2120133]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
others: | 249ms |
total: | 378ms |
0 / 0 |