如何在laravel中无任何顺序地调用带有命名参数的sp

Posted

技术标签:

【中文标题】如何在laravel中无任何顺序地调用带有命名参数的sp【英文标题】:How to call sp with named parameters without any order in laravel 【发布时间】:2018-09-23 17:24:13 【问题描述】:

我有一个用于插入数据的 sp,它有三个参数,例如:a、b、c。所以我想用参数运行sp,但在laravel中找不到解决方案。

这是我尝试过的。

DB::select('EXEC sp_name @a=a, @b=b, @c=c');

但是,它不起作用。

【问题讨论】:

为什么选择而不是DB::raw 发布您的完整查询 :) 【参考方案1】:

试试这个:

$a=1;
$b=2;
$c=3;
$data=DB::select('call sp_name(?,?,?)',[$a,$b,$c]);

【讨论】:

请阅读我的问题,我在您的回答中询问了命名参数。我必须保持订单,这是我不想要的 对不起,你没有提到参数的顺序。你刚刚问过如何用参数调用 sp 这正是你问的“我想用参数运行 sp”。不问清楚就看不到正确答案!【参考方案2】:

我已经得到了答案。唯一的报价丢失了

这是工作示例

DB::select("EXEC sp_name @a='a', @b='b', @c='c'");

【讨论】:

以上是关于如何在laravel中无任何顺序地调用带有命名参数的sp的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 使用 Javascript 调用带有所需参数的路由

Laravel 5.2 带有可变参数的命名路由用法

如何使用 JDBC 调用带有命名参数的 Sybase 存储过程

Java 中无参无返回值方法的使用

带有命名管道的 WCF:如何允许并行调用?

如何在带有jooq的普通sql中使用命名参数