写存储过程问题 select……into……中 into后加多个参数是怎么回事?

我在学习写存储过程的时候,网上给出的例子是 INTO 后跟的是临时表的名字,可是我遇到的存储过程是这样写的,into后的都是自己定义的:
SELECT A.STORAGEID,
A.MATERIALID,
A.FACTORYID,
A.SUPPLYID,
A.PRICE * NVL(B.CONVERAMOUNT, 1) AS PRICE,
A.ERASIGN,
--ROUND(NVL(A.FSEND, 0) / NVL(B.CONVERAMOUNT, 1), 5) * MSIGN AS CURRECAMOUNT,
ROUND(NVL(m_fsend, 0) / NVL(B.CONVERAMOUNT, 1), 5) * MSIGN AS CURRECAMOUNT,
--ROUND(NVL(A.FSENDS, 0) / NVL(B.CONVERAMOUNT, 1), 5) * MSIGN AS CURRECAMOUNTS,
ROUND(NVL(m_FSENDS, 0) / NVL(B.CONVERAMOUNT, 1), 5) * MSIGN AS CURRECAMOUNTS,
BILLKINDS
INTO MSTORAGEID,
MMATERIALID,
MFACTORYID,
MSUPPLYID,
MPRICE,
MERASIGN,
MCURSENDAMOUNT,
MCURSENDAMOUNTS,
MBILLKINDS
FROM M_SENDMATERIAL A, MEASUREUNITCODE B

我就想问INTO后面的这些字段不代表临时表明吗?还是字段名?

第1个回答  2013-04-12
你见的这个存储过程是Oracel的吧?在MSSQL中无此语法的。
第2个回答  2013-04-12
into 后面是字段名

写存储过程问题 select……into……中 into后加多个参数是怎么回事?
你见的这个存储过程是Oracel的吧?在MSSQL中无此语法的。

存储过程中的select into from是干什么的
在数据库的存储过程中,使用SELECT INTO语句可以将查询结果直接存储到指定变量中。这种操作简化了数据处理步骤,提高了程序效率。通过SELECT INTO语句,我们可以方便地获取查询结果并直接利用这些数据进行后续的处理。例如,考虑以下代码段,其中使用SELECT INTO语句计算了一个特定查询返回的行数并将其存储到名为...

SQL中 创建一个存储过程 将学生信息表中学号降序排列 在学生姓名后增加...
select * into #tt from 学生信息表 order by st_id desc alter table #tt add idcol int identity(1,1)select * from #tt drop table #tt go exec num_desc st_id表示学号,idcol表示序号,执行结果是学号降序排列,序号为1,2,3,……,n的形式。

sql server如何用存储过程把多个表的数据添加到一张表中,表字段都很...
insert into 表名 --这里表要存在 存储你处理的数据 否则就用select * into from tb 的格式 select col1,col2 from a union all select col1,col2 from b ……go exec usp_tableall

oracle存储过程实例 为什么 要INTO
你说的是procedure或者function中的select 列 into 变量 from 。。。这种结构吧。这就是plsql的语法规则。不难理解,你在程序中从一张表中获取了某列或某些列的值,要想使用肯定要赋值给变量的,那么select 。。into 就是为了赋值而定义的一种语法。

select into from 多个into
这就是应该到底层了吧,但可以这样吧:select a,d into b ,e from tab_c

SQL 存储过程中怎么实现 参数中带的一条多个参数
SELECT @intStart =1 SELECT @intLocation = CHARINDEX(@vchSplit,@vchString,@intStart)WHILE (@intLocation <> 0 )BEGIN SELECT @vchSubstring=SUBSTRING(@vchString,@intStart,@intLocation-@intStart)INSERT INTO @tabArray(string) SELECT @vchSubstring ...

select into 怎么改成动态语句 into后面接的变量我不会处理
例如:execsql := 'select count(*) from sm_cmdb where ci_code='''||ci_code||''';--dbms_output.put_line(execsql);EXECUTE IMMEDIATE execsql INTO exist_flag;exist_flag就是涉及到的变量。不知这是不是楼主所需要的?

mysql 进:在存储过程中用select 如何给变量赋值
这个SELECT语法把选定的列直接存储到变量。因此,只有单一的行可以被取回。SELECT id,data INTO x,y FROM test.t1 LIMIT 1;注意,用户变量名在MySQL 5.1中是对大小写不敏感的。请参阅9.3节,“用户变量”。重要: SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考...

小白初学PL\/SQL 中SELECT INTO的问题
这就是基本的语法啊,select 。。。into。。。from 就是一个语法格式,没什么特别的。其实你可以这样考虑。在存储过程中使用select的目的本身就是查询数据,既然要查询出来,那么肯定是要使用的,要想在过程中使用,就需要借助载体来获取到select查出的结果。这就是【变量】。通常有几种,单纯类型的变量...

相似回答