首页 > 解决方案 > 存储过程中不能有 USE 语句

问题描述

我正在尝试创建一个存储过程,以便稍后在插入语句中使用。这是我试图在过程中进行的以下查询:

USE live12
SELECT 
    ca.value('(/CA/@ID)[1]','VARCHAR(MAX)'),
    ca.value('(/CA/@value)[1]', 'VARCHAR(MAX)'),
    ca.value('(/CA/@Date)[1]', 'VARCHAR(MAX)')
FROM log

我已经读过我不能在存储过程中使用“USE”语句,但是当我把它拿出来时,SELECT 代码会用红色下划线,因为它不知道列 ca 存在,并且该日志是一个表。我怎样才能解决这个问题?

标签: sql-server

解决方案


你可以这样写吗?

SELECT 
    ca.value('(/CA/@ID)[1]','VARCHAR(MAX)'),
    ca.value('(/CA/@value)[1]', 'VARCHAR(MAX)'),
    ca.value('(/CA/@Date)[1]', 'VARCHAR(MAX)')
FROM live12.dbo.log

推荐阅读