2016-07-23 4 views
0

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

GO 
/****** Object: StoredProcedure [dbo].[Ascend_sp_rpt_CashierTransactionAmt] Script Date: 07/23/2016 12:00:51 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
-- ============================================= 
-- Author:  <Author,,Venkat> 
-- Create date: <Create Date,23-07-2016,> 
-- Description: <Description,Cashier Transaction Amount Reports ,> 
-- ============================================= 
ALTER PROCEDURE [dbo].[Ascend_sp_rpt_CashierTransactionAmt] 
AS 
BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON; 

    -- Insert statements for procedure here 
    SELECT * FROM(
SELECT 
b.Sale_Rate,b.Type,b.Type_Code,CASE 
WHEN 1=0 then convert(char(19),b.LogTime,20) 
ELSE convert(char(10),b.LogTime,20) 
END 'LogDate' from tbllog b)a 
PIVOT 
(
     Sum(Sale_Rate) 
     FOR Type IN ([S], [D], [C]) 
) AS P 
END 

ошибка показывает, как

Msg 208, Level 16, State 6, Procedure Ascend_sp_rpt_CashierTransactionAmt, Line 14 
Invalid object name 'dbo.Ascend_sp_rpt_CashierTransactionAmt'. 

Когда я удалил заявление СЛУЧАЯ это выполняется Не знаю. Почему.

+3

Запрос верный. Показать весь код в sp – NEER

+3

Вы пытаетесь изменить этот sp - вы создали его раньше? Есть ли пример 'exec' после' END' sp? Поместите 'GO' между sp кодом и кодом, который использует этот sp. –

ответ

2

Хранимая процедура Ascend_sp_rpt_CashierTransactionAmt

  1. Не существует в контексте базы данных, в которой вы работаете. Убедитесь, что вы указываете на правильную базу данных.
  2. Или хранимая процедура не существует в рамках схемы dbo, если вы изначально создали ее без dbo с пользователем, который имеет схему по умолчанию, отличную от dbo, тогда она будет создана в этой схеме. Более подробную информацию о схемы см SQL Server Best Practices – Implementation of Database Object Schemas

ALTER означает, что вы пытаетесь изменить существующую хранимую процедуру так, если он уже не существует по какой-либо причине заявление не удастся. Если он еще не существует, замените ключевое слово ALTER на CREATE.

Наконец завершите свое заявление о создании/изменении с помощью ключевого слова GO. См. Create a Stored Procedure для дополнительных примеров синтаксиса.

Смежные вопросы