ユーザ変数

define def1 = 123
define
undefine def1

select * from tab1 where col1 = &def1;

 

http://macotasu.hatenablog.jp/entry/2015/05/14/222223

CREATE TABLE `user_point` (
`user_id` int(11) DEFAULT NULL,
`point` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into user_point values(1,500),(2,400),(3,300),(4,200),(5,100);
select * from user_point;

SET @number = 0;
SELECT (@number := @number + 1) AS number, user_id ,point FROM user_point ORDER BY point asc;


SET では、= または := のどちらかを割り当て演算子として使用できます。

SET 以外のステートメントで、ユーザー変数に値を割り当てることもできます。
この場合、= は SET 以外のステートメントでは比較演算子 = として扱われるので、
割り当て演算子にはこちらではなく、:= を使用する必要があります。

 

 

\set

\set val1 test123
\set val2 2

\unset val1

\echo :val1
\echo :val2

select * from tab1 where col1 = :val2;

 

USE test;
GO

DECLARE @MyVariable int;
SET @MyVariable = 1;

SELECT *
FROM tab2
WHERE col1 = @MyVariable;
go