CREATE PROCEDURE [news01].[usp_generateXml]
(@email NVARCHAR(356))
AS
BEGIN TRY
DECLARE @terms TABLE(sourceName NVARCHAR(256),
url NVARCHAR(Max),
articles NVARCHAR(MAX))
INSERT INTO @terms(sourceName, url, articles)
SELECT
(SELECT source_name FROM tbl_sources),
(SELECT article_url FROM tbl_articles),
(SELECT article_id FROM news01.tbl_articles
WHERE article_title LIKE CONCAT('%',alt.term, '%'))
FROM
news01.tbl_alertTerms alt
JOIN
news01.tbl_userProfiles ussr ON (alt.profile_id = ussr.profile_id)
DECLARE @articles AS NVARCHAR(MAX)
DECLARE @sourceName AS NVARCHAR(256)
DECLARE @url AS NVARCHAR(MAX)
DECLARE cursorSearch CURSOR FOR
SELECT sourceName, url, articles
FROM @terms
OPEN cursorName
FETCH NEXT FROM cursorName INTO @sourceName, @url, @articles
WHILE @@FETCH_STATUS = 0
SELECT
sourceName AS 'SourceName',
url AS 'Url',
articles AS 'Articles'
FROM
@terms
FOR XML AUTO, ROOT('Articles');
CLOSE cursorName
我想使用游标输出XMl原始文件(xml链接)。每个用户都有一个术语(例如足球),循环必须找到带有关键词的文章,然后输出带有所有文章,文章网址和源名称(例如BBC)的xml文件。通过输入选择用户他的电子邮件作为参数。
光标是否正确实现?我做错了什么?
任何帮助将不胜感激!