2013-11-19 1 views
5

В чем разница между DECLARE и SET с использованием SQL (или, более конкретно, MySQL)?SQL - разница между DECLARE и SET

Оба могут задавать переменные. Я прочитал документы MySQL, и я не понял разницы между ними.

+5

'DECLARE' объявляет его, и' SET' инициализирует его. –

+0

[ссылка] (http://stackoverflow.com/questions/11754781/declare-a-variable-in-mysql) Похожие сообщения –

+0

@TimSchmelter Итак, как DECLARE, так и SET необходимы, если вы не используете «DEFAULT» с DECLARE? –

ответ

3

DECLARE не инициализирует переменную. Когда вы объявляете это, вы объявляете имя переменной, тип и значение по умолчанию, которое может быть выражением.

SET предназначен для инициализации переменной, которую вы указали ранее, и вы не можете установить эту переменную до тех пор, пока вы ее НЕ ОБРАТИТЕСЬ.

+0

Спасибо! Таким образом, вы должны использовать оба параметра при создании переменной со значением, если вы не используете «ПО УМОЛЧАНИЮ». Понял. –

2

DECLARE определяет тип переменной и SET инициализирует переменную.

DECLARE @Var1 INT; 
DECLARE @Var2 INT; 
SET @Var1 = 1; 
SET @Var2 = 2; 
+0

Спасибо, Ли, в следующий раз я позабочусь об этом. –