1. 存储过程 select 语句中使用变量问题
你那样写当然会报错,select
*
返回的是一个
结果集
,而@D_name
只是一个
varchar型变量,当然无法接收了。
select
*
into
'D_name'
from
gzb11
where
1=2;
这一句改成
select
count(*)
into
@D_name
from
gzb11
where
1=2;试试
2. 我在pl/sql里要写一个存储过程,其中有一个select句子from的表是个变量,请问这个select句子应该怎么写啊
比如@TableName是一个传入的变量,那么你用
select * from @TalbeName即可
3. mysql 进:在存储过程中用select 如何给变量赋值
用select...into语句
下面是mysql 5.0的帮助文档的:
这个SELECT语法把选定的列直接存储到变量。因此,只有单一的行可以被取回。
SELECT id,data INTO x,y FROM test.t1 LIMIT 1;
注意,用户变量名在MySQL 5.1中是对大小写不敏感的。请参阅9.3节,“用户变量”。
重要: SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量,MySQL当前把参考解释为一个变量的名字。例如,在下面的语句中,xname 被解释为到xname variable 的参考而不是到xname column的:
CREATE PROCEDURE sp1 (x VARCHAR(5))
BEGIN
DECLARE xname VARCHAR(5) DEFAULT 'bob';
DECLARE newname VARCHAR(5);
DECLARE xid INT;
SELECT xname,id INTO newname,xid
FROM table1 WHERE xname = xname;
SELECT newname;
END;
当这个程序被调用的时候,无论table.xname列的值是什么,变量newname将返回值‘bob’。
4. 存储过程中的SELECT语句与普通SELECT语句格式有何区别。
存储过程中的SELECT语句,可以将查询的结果赋给存储过程中的变量。
比如说,select sum("成绩") into sum_english from "课程表" where "课程名"='英语';
其中sum_english是存储过程中已定义的变量。这句话就是把课程表中英语课的总成绩计算出来,赋给sum_english变量中。
这个语句在存储过程中是合法的,但在普通的sql语句中无法使用。
5. 存储过程 select 语句中使用变量问题
你那样写当然会报错,select * 返回的是一个结果集,而@D_name 只是一个 varchar型变量,当然无法接收了。
select * into 'D_name' from gzb11 where 1=2;
这一句改成
select count(*) into @D_name from gzb11 where 1=2;试试
6. 存储过程中的select into from是干什么的
into后边应该还有个变量名,into前面也还要带上筛选字段,例如
select count(*) into v_count from al;
这条语句的意思是查询al表的所有记录数,将查询结果存入v_count变量中,也就是给变量设值的用法
7. sql存储过程里面select * from 表,查出来的值(比如 5这个数字)真的不能继续在做if(i =5)的程序了么
DECLARE total_procts INT DEFAULT 0
SELECT COUNT(*) INTO total_procts
FROM procts
if total_procts =5
//你的处理逻辑
end if
8. sql 存储过程 select怎么返回变量值
存储过程可以定义两个变量:1、传入变量(学号);2、返回变量(0和1);3、备用变量(判断优秀的条件)程序收到返回值时判断后输出提示。
如果不知道多少分为优秀,则可以多加一个传入变量,将判断是否优秀的分值也从变量代入。