create PROCEDURE dd(in num varchar(10))
begin
select num,aid from qsurvey where sex='2' group by aid;
end
存储过程代码如上,num输入的是表中的字段名称,比如qsurvey表里面有个字段是age,当输入这个变量'age'的时候,查询出来的并不是这个字段的值,是age这个常量字符串,我该怎么办?在线等啊!
mysql存储过程支持用表作为参数吗
mysql存储过程支持用表作为参数。这个问题在MySQL 5.0以前非常麻烦,但是在MySQL 5.0.13版之后,由于引入了PREPARE语句,一切变得简单了。例子如下(已验证):DROP PROCEDURE IF EXISTS `newtable`; CREATE PROCEDURE `newtable`(IN tname varchar(64)) BEGIN SET @sqlcmd = CONCAT('CREATE TAB...
如何在存储过程中删除一张表,表名是作为参数传入的
declare @tname varchar(50)='table' --表名 declare @sql varchar(50)='drop table '+@tname exec(@sql)
MySQL怎么写存储过程查询某个表的某一条记录,并把这条记录的所有列名对...
2.如果之前你并不知道,这个表的结构,甚至你根本不知道自己要处理的是那张表,那么存储过程中你需要传递一个表名进来,然后查询information_schema数据库中的COLUMNS表,从而获得这个表的具体字段信息,以及各个字段的先后顺序(为后面拼接字符串使用),剩下的就跟1中描述的思路一样了。虽然不知道你的...
mysql 从动态表名中查询数据
使用存储过程,把表名作为参数传进来。CREATE PROCEDURE proName TableName varchar(50)AS DECLARE @SelectText varchar(500)Set @SelectText = 'SELECT * FROM ' + @TableName exec (@SelectText)你要的是这个么?那直接写:string tablename=???string strSql="select * from '"+tablename+"'...
MySQL存储过程里怎么定义一个参数类型和表的变量类型一样?
1、使用set或select直接赋值,变量名以@开头,可以在一个会话(即连接)的任何地方声明,作用域是整个会话,称为用户变量。例如:set @var=1; 2、 以declare关键字声明的变量,只能在存储过程中使用,称为存储过程变量,主要用在存储过程中,或者是给存储传参数中。例如: declare ...
mysql 存储过程总结(二)if语句、参数
参数 来解决上述的问题。2、参数的类型 主要分为以下三种:IN、OUT、INOUT。 具体的含义如下:(1)in :该类参数作为输入,也就是需要调用时传入值 默认 (2)out:该类参数作为输出,也就是该参数可以作为返回值 (3)inout:既可以作为输入参数,也可以作为输出参数 用法:案例一:案列二:
关于给SQL存储过程表名作为参数的问题
定义 一个变量 DECLARE @sql Varchar(max)set @sql= 'SELECT * FROM' +@TableName+ 'where Row between' + @startRecordIndex +'and'+ @endRecordIndex --最后再 exec @sql 纯页面手打,也不知道有没有格式上错误,但意思已经表达的很清楚了 ALTER procedure [dbo].[P_Pro_Women](@...
数据库sql,编写存储过程,以系别作为参数,统计指定系别的人数,并作为...
mysql :create procedure test(in xb varchar(10))begin select count(*) from table1 where 系别=xb;end;仅供参考,sqlserver的输入参数可能不一样。
mysql 存储过程总结(一)
可以接收参数,也可以返回数据 :再存储过程中,可以传递参数,也可以接收返回 值。减少网络交互,效率提升 : 如果涉及到多条SQL,每执行一次都是一次网络传 输。 而如果封装在存储过程中,我们只需要网络交互一次可能就可以了。3、基本语法 (1)创建:(2)调用:(3)查看:(4)删除 注意: ...
mysql 存储过程带参数的 我在调用这个存储过程的时候可以不传参数...
不能不传,mysql 好像 不支持默认参数 你可以 给他只传递 ""值 或null