我正在尝试创建一个存储过程,以便稍后在插入语句中使用。以下是我试图在过程中进行的以下查询:
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列存在,而该日志是一个表。我该怎么解决这个问题?
你能这样写吗?
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
您需要在live12
数据库中创建存储过程。
使用别名:
SELECT
x.ca.value('(/CA/@ID)[1]','VARCHAR(MAX)'),
x.ca.value('(/CA/@value)[1]', 'VARCHAR(MAX)'),
x.ca.value('(/CA/@Date)[1]', 'VARCHAR(MAX)')
FROM live12.dbo.log x
-- OR:
-- FROM live12.dbo.log AS x