有什么简单的方法可以将标准SQL语句转换为动态查询?

时间:2018-11-29 08:00:41

标签: sql-server tsql execute

我有一个非常复杂的SQL查询,该查询从特定月份$ php artisan route:list +--------+----------------------------------------+--------------------+----------+--------------------------------------------------+------------+ | Domain | Method | URI | Name | Action | Middleware | +--------+----------------------------------------+--------------------+----------+--------------------------------------------------+------------+ | | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | api/en/v1/gettoken | gettoken | App\Http\Controllers\Api\ApiController@gettoken | api | | | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | api/en/v1/login | login | App\Http\Controllers\Api\UserController@login | api | | | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | api/en/v1/register | register | App\Http\Controllers\Api\UserController@register | api |的数据库中提取数据。

月份是基于我们内部的月份编号系统,因此在代码的开头,我们定义了要使用的月份号。

我现在被告知,我们需要在之前的12个月中运行此代码,有没有一种简单的方法可以将整个代码转换为@month语句,以便我可以EXEC通过不同的值loop的变量?

我以前已经为简单的代码完成了此操作,但是此代码有很多基于字符串的条件,需要手动对其进行编辑以适应所有的反引号(')。

谢谢。

1 个答案:

答案 0 :(得分:0)

将查询放入输入为@month的存储过程中,然后调用12次过程:

s_procName 1
s_procName 2
s_procName 3
.....