带参数的sql查询语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带参数的sql查询语句相关的知识,希望对你有一定的参考价值。

String sql = "select nickname FROM login WHERE name = "+name;
后面的name是参数,这个语句是不对的,只能查到name全为数字的结果,谁能教我写一下??

name 字段是字符串类型,所以后面的参数要加上 name='"+name+"'"; (两侧加单引号)追问

搞定了,多谢你了,我刚才不小心点错采纳了。。。不过真心感谢

参考技术A 你这个sql是对的啊? 你想要什么结果?本回答被提问者采纳

oracle PL/SQL编程语言之游标的使用

(本文章内容仅在windows10下经测试能够运行,不能保证其他环境下的可靠性)

PL/SQL游标
概念:类似于集合

 

 

定义游标
关键字:cursor;
1、不带参数游标
语法:cursor 游标变量名 is 查询语句;

示例代码如下:

cursor c1 is select * from emp;

 


2、带参数游标
语法:cursor 游标变量名(参数名 数据类型...) is 查询语句(查询语句语句的右值可以使用游标参数);

示例代码如下:

cursor c2(dno emp.deptno%type) is select empno from emp where deptno = dno;

 

遍历游标

关键字:open;fetch;close; 

1、不带参数的游标

语法:

open 游标变量名;

  loop

    fetch 游标变量名 into 变量名;

    exit when 条件(常使用:游标变量名%notfound;)

    循环体(使用变量执行其他语句)

  end loop;

close 游标变量名;

示例代码如下:

open c1;
  loop
    fetch c1 into e;
    exit when c1%notfound;
    dbms_output.put_line(e.ename);
  end loop;
  close c1;

 

2、带参数的游标

语法:

open 游标变量名(实参列表);

 

  loop

    fetch 游标变量名 into 变量;

    exit loop 条件(常使用:游标变量名%notfound;)

    循环体(使用变量执行其他语句)

  end loop;

close 游标变量名;

示例代码如下:

open c2(10);
  loop
    fetch c2 into eno;
    exit when c2%notfound;
    update emp set sal = sal + 10 where empno = eno;
    commit;  
  end loop;
  close c2;

 

使用游标的两个简单案例

1、使用游标输出emp表所有员工姓名

示例代码如下:

--使用游标遍历输出emp表员工姓名
declare
  cursor c1 is select * from emp;
  e emp%rowtype;
begin
  open c1;
  loop
    fetch c1 into e;
    exit when c1%notfound;
    dbms_output.put_line(e.ename);
  end loop;
  close c1;
end;

 

2、使用游标给emp表部门编号为10的所有员工增加工资10

示例代码如下:

--使用游标给emp部门编号为10的员工涨10元工资
declare
  cursor c2(dno emp.deptno%type) is select empno from emp where deptno = dno;
  eno emp.empno%type;
begin
  open c2(10);
  loop
    fetch c2 into eno;
    exit when c2%notfound;
    update emp set sal = sal + 10 where empno = eno;
    commit;  
  end loop;
  close c2;
end;

 

以上是关于带参数的sql查询语句的主要内容,如果未能解决你的问题,请参考以下文章

参数化sql查询语句

C#中 SQL语句 带参数的like 查询怎么写

在sql语句中,怎样将参数做为表名传递到查询语句中

java中PreparedStatement执行带参数的sql语句如何实现模糊查询?

java中PreparedStatement执行带参数的sql语句如何实现模糊查询?

分页查询的sql 语句(参数1,参数2)?怎么写?