小编Aru*_*gar的帖子

语法错误:'delimiter'在这里输入无效

我的使用中出错stored procedure(mysql 5.6).我正在使用Workbench 6.3 CE.我的代码如下

DELIMITER //            (this line shows error)why??
CREATE PROCEDURE Demo(in v_id int)
BEGIN

select name from student where id=v_id;

END//

delimiter;
Run Code Online (Sandbox Code Playgroud)

mysql

3
推荐指数
1
解决办法
3968
查看次数

从客户端传递给存储过程的参数数量未知.如何处理?

我想创建一个存储过程,将Archive表中的一些记录插入主表.

我的问题是客户端在他的网格中有多个复选框,他/她可以检查任意数量的复选框.每个复选框代表Archive表中的记录.每条记录都由orderNo.基于orderNo我想创建一个存储过程,从Archive表中获取记录并将其插入主表.

我的问题:如何有效地处理此存储过程中的未知数量的参数?在伪代码中:

create procedure moveRecords(what parameters i should take here)
as 
begin
insert into mainTable(orderNo,date,siteID) select orderNo,date,siteID from 
ArchiveTable where orderNo=<here what i write>
Run Code Online (Sandbox Code Playgroud)

客户端可以发送1个参数,2个,3个,10个,20个参数等我们不知道.类似于以下内容:

exec moveRecords(any no. of parameters)
Run Code Online (Sandbox Code Playgroud)

我提出了如下解决方案:

  1. 通过将所有orderNo(由客户端发送)放入一个temp_Table并从temp_Table我的存储过程中检索这些.
  2. 在服务器端,我们orderNo在数组的基础上采用数组和调用过程.

我正在寻找替代品.

sql sql-server stored-procedures

1
推荐指数
1
解决办法
366
查看次数

hascode()和==运算符契约与给定的例子?

        String str1="hello";
        String str2="hell";
        String str3=str2+"o";

        System.out.println(str1==str3); // fasle
        System.out.println(str1.hashCode()); // 99162322
        System.out.println(str2.hashCode()); // 3198781
        System.out.println(str3.hashCode()); // 99162322
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么STR1 == STR3返回,如果有哈希码相同的?我想知道==运算符和哈希码的internaly工作

java

-2
推荐指数
1
解决办法
113
查看次数

标签 统计

java ×1

mysql ×1

sql ×1

sql-server ×1

stored-procedures ×1