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

Откуда:
Сообщений: 182
Как удалить переменную в SQL вообще.

нужно что-то типа метода unset();

Такое в sql есть?
13 июн 12, 13:25    [12707274]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Что-что сделать?
13 июн 12, 13:27    [12707288]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Teslenko Sergey
Member

Откуда:
Сообщений: 182
Гавриленко Сергей Алексеевич,

Просто удалить переменнуя ну чтобы после подобного действия система выдала "Must declare the scalar variable"
13 июн 12, 13:28    [12707298]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Alexandr Kr.
Member

Откуда: Украина, Харьков
Сообщений: 165
Teslenko Sergey,

Постаbьте Go после декларации переменной. Но вообще задача более чем странная.
13 июн 12, 13:30    [12707322]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Teslenko Sergey
Member

Откуда:
Сообщений: 182
Alexandr Kr.,

Совсем понял это как? можете показать пример кода.
13 июн 12, 13:31    [12707328]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Alexandr Kr.
Member

Откуда: Украина, Харьков
Сообщений: 165
Teslenko Sergey
Alexandr Kr.,

Совсем понял это как? можете показать пример кода.


А можете сказать для чего это?
13 июн 12, 13:32    [12707341]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Shlippenbaranus
Member

Откуда:
Сообщений: 241
Alexandr Kr.
Teslenko Sergey,

Постаbьте Go после декларации переменной. Но вообще задача более чем странная.


После GO удалятся декларации ВСЕХ переменных. По хорошему, надо бы предупреждать :):):)

А вообще, таки GO. Подозреваю, человек работает в MS SMS, сравнивает два варианта кода на одной страничке, и не хочет, чтобы во втором варианте автоматика подчеркивала красным повторно определенные переменные. Очень понятная задача.

К Teslenko Sergey - ставьте GO между вариантами кода
13 июн 12, 13:36    [12707386]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
DECLARE @V INT;
EXEC(N'SELECT * FROM sys.objects WHERE object_id=@V;');
13 июн 12, 13:39    [12707403]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Teslenko Sergey
Гавриленко Сергей Алексеевич,

Просто удалить переменнуя ну чтобы после подобного действия система выдала "Must declare the scalar variable"
Зачем? O_o
13 июн 12, 13:41    [12707428]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Teslenko Sergey
Member

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

Я проверял, к сожалению в данной таблице переменные не отображаются. Было бы идеальным вариантом просто вынести её оттуда deletom, но не судьба.
13 июн 12, 14:06    [12707666]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Teslenko Sergey
iap,

Я проверял, к сожалению в данной таблице переменные не отображаются. Было бы идеальным вариантом просто вынести её оттуда deletom, но не судьба.
Че-то я совсем не понимаю, чего ты хочешь добиться...
Приведи код .... Расскажи от чего хотел избавиться...
13 июн 12, 14:08    [12707680]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Teslenko Sergey
Member

Откуда:
Сообщений: 182
Владимир СА,

DECLARE @V INT;
SET @V = 1;
SELECT @V; -- Здесь мы получим 1;

Drop variable @V -- тоже самое что метод unset() во всех остальных языках!!!

SELECT @V; -- Должен выбать Must declare the scalar variable "@V".
13 июн 12, 15:18    [12708264]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Teslenko Sergey
Владимир СА,

DECLARE @V INT;
SET @V = 1;
SELECT @V; -- Здесь мы получим 1;

Drop variable @V -- тоже самое что метод unset() во всех остальных языках!!!

SELECT @V; -- Должен выбать Must declare the scalar variable "@V".
А цель (зачем) дропать?
13 июн 12, 15:25    [12708339]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
DECLARE @V INT;
SELECT @V;  // Null
SET @V = 1;
SELECT @V;  // 1
SET @V = null;
SELECT @V;  // Null

Для
SELECT @@version

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: )
13 июн 12, 15:41    [12708493]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Teslenko Sergey
Drop variable @V -- тоже самое что метод unset() во всех остальных языках!!!
В каких например?

Раз уж Вы стали использовать TSQL, то придётся смириться, что переменная видна до конца своей области видимиости (в которой она была объявлена).
Зато во вне этой области видимости её нет, что я Вам и пытался продемонстрировать.
Про область видимости переменных и объектов БД надо прочитать BOL
13 июн 12, 15:43    [12708507]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Teslenko Sergey
Member

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

Ребят, ну воткните не скалярную переменную я типа table ну и поработайте с ней, чтобы у неё обнулялись счётчики при перезаписи и так далее.
13 июн 12, 15:48    [12708560]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Teslenko Sergey
чтобы у неё обнулялись счётчики при перезаписи и так далее.


это и есть причина, по которой понадобилось удалять переменную? ну сделайте DBCC CHECKIDENT
13 июн 12, 15:59    [12708678]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Teslenko Sergey
iap,

Ребят, ну воткните не скалярную переменную я типа table ну и поработайте с ней, чтобы у неё обнулялись счётчики при перезаписи и так далее.
Лолчто? Табличные переменные имеют с обычными переменными только одно общее - собаку в названии.
13 июн 12, 15:59    [12708682]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Shakill
DBCC CHECKIDENT
хотя нет, насчет переменных это я погорячился =) придется как-то обходить
13 июн 12, 16:03    [12708723]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Shakill
Shakill
DBCC CHECKIDENT
хотя нет, насчет переменных это я погорячился =) придется как-то обходить
Очень далеко обходить, ага. Сделать обычную времянку и truncate ей.
13 июн 12, 16:04    [12708745]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Гавриленко Сергей Алексеевич
Shakill
пропущено...
хотя нет, насчет переменных это я погорячился =) придется как-то обходить
Очень далеко обходить, ага. Сделать обычную времянку и truncate ей.
ну ТС завел речь именно про табличные переменные. хотя и это не сразу было понятно
13 июн 12, 16:09    [12708797]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Shakill
Shakill
DBCC CHECKIDENT
хотя нет, насчет переменных это я погорячился =) придется как-то обходить
Обходить что???
Почему за тысячи лет вопрос этой темы не возникал, а теперь вот возник?

Надо несколько раз объявить переменную с одним и тем же именем, но разного типа?
Для чего тогда придуман тип SQL_VARIANT?
Правда, тоже то ещё удовольствие.
Объявлять всё равно получится только один раз.
А при использовании часто придётся явно приводить к нужному типу
13 июн 12, 16:12    [12708818]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Shakill
ну ТС завел речь именно про табличные переменные. хотя и это не сразу было понятно
Это откуда такое умозаключение?
В пример приводился оператор SET. При чём здесь табличные переменные?
Пусть сначала пояснит про какой-то метод unset() во всех остальных языках,
который все обязаны знать.
13 июн 12, 16:16    [12708863]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
iap
Shakill
ну ТС завел речь именно про табличные переменные. хотя и это не сразу было понятно
Это откуда такое умозаключение?
В пример приводился оператор SET. При чём здесь табличные переменные?
Пусть сначала пояснит про какой-то метод unset() во всех остальных языках,
который все обязаны знать.


отсюда. я предположил что весь смысл вопроса ТС сводится к сбросу идентити на переменной, а признался он об этом только в ходе обсуждений. но вообще неплохо чтоб он сам полностью осветил этот самый смысл вопроса

Teslenko Sergey
iap,
Ребят, ну воткните не скалярную переменную я типа table ну и поработайте с ней, чтобы у неё обнулялись счётчики при перезаписи и так далее.
13 июн 12, 16:20    [12708918]     Ответить | Цитировать Сообщить модератору
 Re: Как удалить переменную SQL  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
iap
Teslenko Sergey
Drop variable @V -- тоже самое что метод unset() во всех остальных языках!!!
В каких например?

Раз уж Вы стали использовать TSQL, то придётся смириться, что переменная видна до конца своей области видимиости (в которой она была объявлена).
Зато во вне этой области видимости её нет, что я Вам и пытался продемонстрировать.
Про область видимости переменных и объектов БД надо прочитать BOL


хмм..

Пусть U - множество всех языков в мире.
И пусть S - это T-SQL.

Так вот подмножество (U-S) - это и есть все остальные языки.
Надеюсь после этого у вас отпадет вопрос.
13 июн 12, 16:20    [12708927]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить