exec_test_sql.py 1.24 KB
# =====================================================
# 测试环境 SQL:为 receipt_container_detail 添加 status 字段
# 连接: 192.168.1.91 SQL Server 1433
# 数据库: wms4_global
# =====================================================

# 1. 检查字段是否存在
SELECT COUNT(*) FROM sys.columns 
WHERE Object_ID = Object_ID('receipt_container_detail') 
AND name = 'status';

# 2. 添加 status 字段(如果不存在)
IF NOT EXISTS (
    SELECT 1 FROM sys.columns 
    WHERE Object_ID = Object_ID('receipt_container_detail') 
    AND name = 'status'
)
BEGIN
    ALTER TABLE receipt_container_detail ADD status INT NULL;
    PRINT 'status 字段添加成功';
END
ELSE
BEGIN
    PRINT 'status 字段已存在,跳过';
END

# 3. 同步现有数据状态
UPDATE rcd
SET rcd.status = rch.status
FROM receipt_container_detail rcd
INNER JOIN receipt_container_header rch ON rcd.receipt_container_id = rch.id
WHERE rcd.status IS NULL;
PRINT '状态同步完成';

# 4. 验证添加结果
SELECT 
    ISNULL(status, -1) as status,
    COUNT(*) as cnt
FROM receipt_container_detail
GROUP BY status
ORDER BY ISNULL(status, -1);

# 5. 查看状态分布说明
SELECT '状态说明:' as info, '0=新建, 10=组盘, 20=入库完成, 50=已回传' as description;