You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server无硬编码值插入:创建订单及添加商品

实现方案

全程不硬编码的核心是通过查询动态获取用户、商品的关联ID,用SQL内置函数处理日期和新订单ID,完整脚本如下:

-- 声明变量存储需要用到的ID
DECLARE @UserId INT, @ProductId INT, @NewOrderId INT;

-- 根据用户名获取用户ID
SELECT @UserId = UserId
FROM Users
WHERE UserName = 'John Cena';

-- 根据商品名获取商品ID
SELECT @ProductId = ProductId
FROM Products
WHERE ProductName = 'Ice Cream';

-- 插入今日已支付的订单
-- 若只需日期部分用CAST(GETDATE() AS DATE),需完整时间则直接用GETDATE()
INSERT INTO Orders (UserId, OrderDate, IsPaid)
VALUES (@UserId, CAST(GETDATE() AS DATE), 1)
OUTPUT INSERTED.OrderId INTO @NewOrderId; -- 捕获刚生成的订单ID

-- 为该订单添加商品,数量默认1,可按需调整
INSERT INTO OrderItems (OrderId, ProductId, Quantity)
VALUES (@NewOrderId, @ProductId, 1);

关键说明

  • 用CAST(GETDATE() AS DATE)自动获取今日日期,无需手动硬编码日期值;
  • 通过OUTPUT INSERTED.OrderId直接获取新插入的订单ID,避免二次查询或硬编码;
  • 用户ID、商品ID均通过表查询动态获取,彻底杜绝硬编码数值;
  • 若IsPaid为BIT类型,1代表已支付,符合SQL Server布尔类型的取值规则。

内容的提问来源于stack exchange,提问作者Dulanjana Gamage

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 09:40:28