Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Возврат Переменной в php  [new]
Talany
Member

Откуда:
Сообщений: 5
Доброго времени sql профи и новички!

Подскажите пожалуйста как будет правильно вернуть значение из такого кода
BEGIN TRANSACTION
DECLARE @Id INT
DECLARE @Date DATETIME
INSERT INTO test.test_table_1 VALUES (1,GETDATE(),'Первый коммент')
IF @@ERROR != 0
BEGIN
    ROLLBACK TRANSACTION
    RETURN
END

SET @Id = (SELECT id FROM test.test_table_1 WHERE date=(SELECT MAX(date) FROM test.test_table_1))
SET @Date = (SELECT date FROM test.test_table_1 WHERE date=(SELECT MAX(date) FROM test.test_table_1))

INSERT .......
INSERT .......
INSERT .......
20 ноя 13, 12:15    [15160487]     Ответить | Цитировать Сообщить модератору
 Re: Возврат Переменной в php  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Talany,

Ох, какой кривой код. Например, между инструкциями "SET @Id =" и "SET @Date =" может вклиниться параллельный процесс и вставить в test_table_1 энное количество записей. Тогда вы вернёте идентификатор от одной записи, а дату — совсем от другой.

В чём суть вашего кода? Вы хотите вставить запись в test_table_1 и получить id, date этой записи?
20 ноя 13, 12:54    [15160902]     Ответить | Цитировать Сообщить модератору
 Re: Возврат Переменной в php  [new]
Glory
Member

Откуда:
Сообщений: 104751
SELECT TOP 1 id, date FROM test.test_table_1 ORDER BY date DESC
20 ноя 13, 12:56    [15160920]     Ответить | Цитировать Сообщить модератору
 Re: Возврат Переменной в php  [new]
Talany
Member

Откуда:
Сообщений: 5
Гость333,

Грубо говоря да, а код кривой потому что я не программист.
Я толко нормальный SELECT не могу составить а тут такая задача.
Грубо говоря надо ставить запись, потом получить id и дату вставить в другие таблицы и выдать обратно!
20 ноя 13, 13:52    [15161440]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить