前者可以将select 出来的N行(0到任意数)结果集复制一个新表中,后者只能将"一行"结果复制到一个变量中。这样说吧,select into是PL/SQL language 的赋值语句。而前者是标准的SQL语句。
做一个简单测试,我们就可以很容易地看出两者的差别。
首先,我们创建两个表,一个作为源表,一个作为目标表。
接着,插入测试数据
测试insert into select 操作
测试select into 操作
因为select into是一个plsql语言中的复制语句,和:=实现的目标一样。
这里增加了原始类型的变量和记录类型的变量,便于大家理解。