我正在尝试创建一个存储过程,以后可以在插入语句中使用。这是我尝试在过程中使用的以下查询:
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存在,并且该日志是一个表。我该如何解决?
答案 0 :(得分:2)
可以这样写吗?
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
答案 1 :(得分:0)
您需要在live12
数据库中创建存储过程。
答案 2 :(得分:0)
使用alias:
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