MySQL变量赋值需要注意其与Oracle的区别

 

想了解下MySQL, 找了本MySQL Cookbook正在看:

 

MySQL用户变量拥有单一的值,如果你使用返回多行的语句来将值赋给一个变量,那么只有最后一行的值被赋给了该变量,如果语句没有返回任何行,赋值也不会发生,变量会保持它先前的值,如果该变量之前从未被使用,那么值为NULL,OraclePL/SQL中不允许返回多行或无返回值,否则丢出异常:TOO_MANY_ROWS or NO_DATA_FOUND,所以MySQL要特别留意出错.

MySQL:    select @column_name := column_variable from tables where ...

Oracle:      select column_name into column_variable from tables where ...

另外也可以充分利用MySQL的这一特性,如:

Select @n := @n + 1 as rownum from tables where …

 

你可能感兴趣的:(oracle,mysql,null)