我正在尝试创建一个存储过程,稍后我可以在insert语句中使用它。以下是我在程序中尝试的以下查询:
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
数据库中创建存储过程。
使用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