неверный синтаксис рядом с '*' - PullRequest
0 голосов
/ 31 января 2012

Я пытался выполнить одну из моих хранимых процедур, но я получаю синтаксическую ошибку, и я не могу понять, почему.

вот sproc:

 ALTER PROCEDURE [dbo].[HotlinePlusAdministration_ArticleMigrator]
            @ArticleKey AS INT,
            --@CategoryID AS INT,
            --@Title AS Varchar(200),
            --@ArticleDate AS datetime,
            @DestLinkServer AS VARCHAR(50),
            @UserID     AS VARCHAR(8),
            @ReturnMsg AS VARCHAR(1000) OUTPUT
    AS

    BEGIN

    DECLARE @Query AS NVARCHAR(4000)
    DECLARE @Log AS VARCHAR(8000)
    DECLARE @ArticleID as int
    DECLARE @NewArticleID as int
    DECLARE @ArticleKeyExists as int
    DECLARE @Title as varchar(200)
    DECLARE @CategoryID  as INT
    DECLARE @ArticleDate  as varchar(30)
    DECLARE @ParmDefinition nvarchar(500);

    SET XACT_ABORT ON -- Required for nested transaction
    BEGIN TRAN


    -- Check if ArticleID exists in Destination Server

      SET @Query =  N'  SELECT    @ArticleKeyExists = COUNT(*)
                           FROM ' +   @DestLinkServer + '.HL2_61.dbo.Article' + ' where ArticleKey = ' + str(@ArticleKey)

            SET @ParmDefinition =  N'@ArticleKey int,  @ArticleKeyExists int OUTPUT';

            EXECUTE sp_executesql @Query , @ParmDefinition, @ArticleKey ,  @ArticleKeyExists  OUTPUT;

                         IF @@ERROR <> 0
                             BEGIN 
                                     ROLLBACK TRANSACTION
                                SET @ReturnMsg = @Log + '<span style="color:red;">ERROR: <br></span>'
                                    RETURN -1
                            END


    --Delete existing Articles for select page
    set @Query = 'DELETE FROM ' + @DestLinkServer + 
                '.HL2_61.dbo.Article ' +
                 'WHERE ArticleKey = ' + CONVERT(VARCHAR, @ArticleKey)
                --'WHERE CategoryID = ' + CONVERT(VARCHAR, @CategoryID)  + ' and Title = ''' + @Title + '''  and ArticleDate  = ''' + @ArticleDate  + ''''
    Print @Query
    EXEC(@Query)

, когда яя пытаюсь выполнить это, я получаю ошибку здесь:

SELECT    @ArticleKeyExists = COUNT(*)
                       FROM BRWSQLDC.HL2_61.dbo.Article where ArticleKey = 1591276581

Может ли какой-нибудь орган, пожалуйста, помогите мне в этом,

Спасибо.

1 Ответ

1 голос
/ 31 января 2012

SET @ArticleKeyExists = (ВЫБЕРИТЕ СЧЕТЧИК (*) ИЗ BRWSQLDC.HL2_61.dbo.Article где ArticleKey = 1591276581)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...