この機能を削除する際に問題が発生しています。sp内でこの関数を宣言しています:
エラー: データベースには、'extract' という名前のオブジェクトが既に存在します。
IF OBJECT_ID('[rpt].[MissMatchesReport]') IS NOT NULL
BEGIN
DROP PROCEDURE [rpt].[MissMatchesReport]
END
GO
CREATE procedure [rpt].[MissMatchesReport]
as
IF object_id(N'extract', N'FN') IS NOT NULL
DROP FUNCTION extract
GO
create function [rpt].extract (@fileName varchar(1236))
returns varchar(123)
as
begin
declare @fileINS as integer = 1, @j int
while 1 = 1
begin
SET @j = charindex('\', @fileName, @fileINS)
if @j < 1
break
SET @fileINS = @j + 1
end
return substring(@fileName, @fileINS, LEN(@filename) - @fileins+1)
end
GO
この関数を使用して、作成した一時テーブルに変更を加える唯一の理由です。spの最後に関数をドロップする必要がありますか?ただし、この SP はレポート用であるため、実行の最後に SP を削除しても、SSRS ですべてが機能し続けるかどうかはわかりません。
私はSSRSとSQLに非常に慣れていません。どんな助けでも大歓迎です!
ありがとう!