0

我需要在 SQL Server 2008 中执行 SQL Server 2005 生成的数据库查询(主要是存储过程)。在执行此过程时我需要记住什么...?

当我执行上述过程时,脚本不会执行...

请帮我解决这个问题

尼莱什·佩塔尼

很抱歉在评论中包含代码...

这是我用来在没有任何 SET 命令的情况下执行的示例过程,但它仍然无法正常工作......

CREATE  PROCEDURE [dvx_web_MICROSITES_LoadMicrosites]
AS
BEGIN
    SELECT
        microsite_id AS ID,
        url as URL,
        [name] as [Name],
        catery_id as CateryID,
        catery_code as CateryCode,
        banner_key as Banner,   
        main_banner_key as MainBanner,
        special_zone_id as SpecialZone,
        homepage_url as MainLink,
        active as Active,
        custom_01 as Custom01,
        custom_02 as Custom02,
        custom_03 as Custom03,
        custom_04 as Custom04,
        custom_05 as Custom05
    FROM
        Microsites
    WHERE
        Active = 1
    ORDER BY [Name] ASC
END
4

2 回答 2

0

你有哪个错误?您的代码是正确的,您可以创建存储过程。如果您在创建存储过程时遇到错误,请将错误消息添加到您的问题中。

如果您在调用您的 SP 时遇到问题,请添加调用代码和结果。

在这里,我创建了简单的示例:

create table test_table (
   a int
)
go

insert into test_table values(10);
go

create procedure test_proc
as
begin
  select * from test_table order by a asc
end  
go

exec dbo.test_proc

drop procedure test_proc
drop table test_table
于 2012-08-06T10:36:22.993 回答
0

在您的示例过程中,为什么在 create proc 语句之前将 ANSI NULL 和 QUOTED IDENTIFIERS SET TO ON?这将产生语法错误,并且不会在以后每次执行 proc 时应用。所以在存储过程中使用这些设置。我想这可能是你所有程序的问题。

于 2012-08-06T09:43:14.447 回答