sql怎么写 写一个存储过程,读取配置表里的订单号及对应年份,去删除主表中对应的订单
时间: 2023-06-11 20:04:22 浏览: 55
号数据。
你可以使用以下存储过程代码:
CREATE PROCEDURE delete_order_data
AS
BEGIN
DECLARE @order_no INT
DECLARE @year INT
DECLARE order_cursor CURSOR FOR SELECT order_no, year FROM config_table
OPEN order_cursor
FETCH NEXT FROM order_cursor INTO @order_no, @year
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @query NVARCHAR(MAX)
SET @query = 'DELETE FROM main_table WHERE order_no = ' + CAST(@order_no AS NVARCHAR(10)) + ' AND YEAR(order_date) = ' + CAST(@year AS NVARCHAR(10))
EXEC(@query)
FETCH NEXT FROM order_cursor INTO @order_no, @year
END
CLOSE order_cursor
DEALLOCATE order_cursor
END
这个存储过程的作用是从主表中删除与配置表中订单号及对应年份匹配的数据。在存储过程中,我们使用一个游标来遍历配置表中的所有订单号及年份,然后执行动态生成的删除语句。请注意,为了安全起见,我们在执行动态生成的语句时使用 EXEC 命令,而不是直接将其拼接到字符串中。
相关推荐
![bak](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)