Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 我的存储过程执行了几次?_Sql Server_Sql Server 2008_Sql Server 2014 - Fatal编程技术网

Sql server 我的存储过程执行了几次?

Sql server 我的存储过程执行了几次?,sql-server,sql-server-2008,sql-server-2014,Sql Server,Sql Server 2008,Sql Server 2014,我编写了一个存储过程来过滤我的表。它工作正常,并选择了正确的记录,但在结果中,例如查询必须返回一条记录 不是一条记录返回太多记录,而是我的存储过程可能执行多次吗 我使用以下代码: ALTER PROCEDURE [dbo].[propertyFilterByCity] @city NVARCHAR(150) = NULL, @DefaultPageIndex smallint = NULL, @DefaultPageSize smallint = NULL, @

我编写了一个存储过程来过滤我的表。它工作正常,并选择了正确的记录,但在结果中,例如查询必须返回一条记录

不是一条记录返回太多记录,而是我的存储过程可能执行多次吗

我使用以下代码:

ALTER PROCEDURE [dbo].[propertyFilterByCity] 
    @city NVARCHAR(150) = NULL,
    @DefaultPageIndex smallint = NULL,
    @DefaultPageSize smallint = NULL,
    @RecordCount bit = NULL,
    @MinPrice decimal(18, 0) = NULL,
    @MaxPrice decimal(18, 0) = NULL,
    @bedRoom smallint = NULL,
    @PropertyType NVARCHAR(20) = NULL,
    @requestType NVARCHAR(20) = NULL,
    @Parking bit = NULL,
    @RemoteParking bit = NULL,
    @Lobby bit = NULL,
    @AssemblyHall bit = NULL,
    @Gym bit = NULL,
    @Surveillance bit = NULL,
    @FireAlarm bit = NULL,
    @FireFighting bit = NULL,
    @Pool bit = NULL,
    @Sauna bit = NULL,
    @Jacuzzi bit = NULL,
    @Carwash bit = NULL,
    @Laundry bit = NULL,
    @Custodian bit = NULL,
    @Shooting bit = NULL,
    @TheftAlarm bit = NULL,
    @PanelFit bit = NULL,
    @Sentry bit = NULL,
    @CentralSatellite bit = NULL,
    @CentralAntenna bit = NULL,
    @Fireplaces bit = NULL,
    @MasterRoom bit = NULL,
    @Patio bit = NULL,
    @Barbecue bit = NULL,
    @UPS bit = NULL,
    @RoofGarden bit = NULL
AS
BEGIN
    BEGIN TRY
        SET NOCOUNT ON ;
        BEGIN TRANSACTION;
        DECLARE @CityId int;
        IF EXISTS(SELECT Estate_CityId FROM [^Estate_City] WHERE Estate_CityName = @city)
            BEGIN
                SET @CityId= (SELECT Estate_CityId FROM [^Estate_City] WHERE Estate_CityName = @city);
            END
        IF(@MinPrice IS NOT NULL AND @MaxPrice IS NOT NULL)
        BEGIN       
            IF (@MaxPrice>0 AND @MaxPrice>@MinPrice)
            BEGIN           
                DECLARE @results TABLE (RowNum INT,Estate_Code BIGINT,Estate_propertyType NVARCHAR(50),Estate_buildingArea NVARCHAR(20),Estate_floor NVARCHAR(10),Estate_neighborhoodProperty NVARCHAR(100),Estate_street1 NVARCHAR(100),
                Estate_street2 NVARCHAR(100),Estate_visits BIGINT,houseImage NVARCHAR(MAX),houseImage1 NVARCHAR(MAX),houseImage2 NVARCHAR(MAX),houseImage3 NVARCHAR(MAX),houseImage4 NVARCHAR(MAX),Owner_requestType NVARCHAR(MAX),
                Facility_Description NVARCHAR(MAX),Estate_BedRoomCount NVARCHAR(2))
                INSERT INTO @results(RowNum,Estate_Code,Estate_propertyType,Estate_buildingArea,Estate_floor,Estate_neighborhoodProperty,Estate_street1,Estate_street2,Estate_visits,houseImage,houseImage1,
                houseImage2,houseImage3,houseImage4,Owner_requestType,Facility_Description,Estate_BedRoomCount)
                SELECT ROW_NUMBER() OVER(ORDER BY [^Estate].Estate_Code) AS [Row],[^Estate].Estate_Code,[^Estate].Estate_propertyType, [^Estate].Estate_buildingArea,[^Estate].Estate_floor,[^Estate].Estate_neighborhoodProperty,[^Estate].Estate_street1,[^Estate].Estate_street2,[^Estate].Estate_visits,[^Estate_Images].houseImage,[^Estate_Images].houseImage1,[^Estate_Images].houseImage2,[^Estate_Images].houseImage3,[^Estate_Images].houseImage4,[^Estate_OwnerInfo].RequestType_Type,[^Estate_Facility].Facility_descText,[^Estate].Estate_bedRoomCount
                FROM [^Estate]
                INNER JOIN [^Estate_Images] ON [^Estate].Estate_Code=[^Estate_Images].Estate_Code
                INNER JOIN [^Estate_OwnerInfo] ON [^Estate].Owner_code=[^Estate_OwnerInfo].Owner_code
                INNER JOIN [^Estate_Facility] ON [^Estate].Estate_Code=[^Estate_Facility].Estate_Code
                INNER JOIN [^Estate_City] ON [^Estate].Estate_CityId =[^Estate].Estate_CityId
                WHERE 
                    (@CityId IS NULL OR [^Estate].Estate_CityId =@CityId ) AND
                    (@requestType IS NULL OR [^Estate_OwnerInfo].RequestType_Type = @requestType) AND
                    ([^Estate].Estate_totalPrice BETWEEN @MinPrice AND @MaxPrice) AND
                    (@bedRoom IS NULL OR [^Estate].Estate_bedRoomCount>@bedRoom) AND
                    (@PropertyType IS NULL OR [^Estate].Estate_propertyType = @PropertyType) AND
                    (@requestType IS NULL OR [^Estate_OwnerInfo].RequestType_Type = @requestType) AND
                    (@bedRoom IS NULL OR [^Estate].Estate_bedRoomCount = @bedRoom) AND
                    (@Parking IS NULL OR [^Estate_Facility].Facility_Parking = @Parking) AND
                    (@RemoteParking IS NULL OR [^Estate_Facility].Facility_RemoteParking = @RemoteParking) AND
                    (@Lobby IS NULL OR [^Estate_Facility].Facility_Lobby = @Lobby)AND
                    (@Gym IS NULL OR [^Estate_Facility].Facility_Gym = @Gym) AND
                    (@Surveillance IS NULL OR [^Estate_Facility].Facility_Surveillance = @Surveillance) AND
                    (@FireAlarm IS NULL OR [^Estate_Facility].Facility_FireAlarm = @FireAlarm) AND
                    (@FireFighting IS NULL OR [^Estate_Facility].Facility_FireFighting = @FireFighting) AND
                    (@Pool IS NULL OR [^Estate_Facility].Facility_Pool = @Pool) AND
                    (@Sauna IS NULL OR [^Estate_Facility].Facility_Sauna = @Sauna) AND
                    (@Jacuzzi IS NULL OR [^Estate_Facility].Facility_Jacuzzi = @Jacuzzi) AND
                    (@Carwash IS NULL OR [^Estate_Facility].Facility_Carwash = @Carwash) AND
                    (@Laundry IS NULL OR [^Estate_Facility].Facility_Laundry = @Laundry) AND
                    (@Custodian IS NULL OR [^Estate_Facility].Facility_Custodian = @Custodian) AND
                    (@Shooting IS NULL OR [^Estate_Facility].Facility_Shooting = @Shooting) AND
                    (@TheftAlarm IS NULL OR [^Estate_Facility].Facility_TheftAlarm = @TheftAlarm) AND
                    (@PanelFit IS NULL OR [^Estate_Facility].Facility_PanelFit = @PanelFit) AND
                    (@Sentry IS NULL OR [^Estate_Facility].Facility_Sentry = @Sentry) AND
                    (@CentralSatellite IS NULL OR [^Estate_Facility].Facility_CentralSatellite = @CentralSatellite) AND
                    (@CentralAntenna IS NULL OR [^Estate_Facility].Facility_CentralAntenna = @CentralAntenna) AND
                    (@Fireplaces IS NULL OR [^Estate_Facility].Facility_Fireplaces = @Fireplaces) AND
                    (@MasterRoom IS NULL OR [^Estate_Facility].Facility_MasterRoom = @MasterRoom) AND
                    (@Patio IS NULL OR [^Estate_Facility].Facility_Patio = @Patio) AND
                    (@Barbecue IS NULL OR [^Estate_Facility].Facility_Barbecue = @Barbecue) AND
                    (@UPS IS NULL OR [^Estate_Facility].Facility_UPS= @UPS) AND
                    (@RoofGarden IS NULL OR [^Estate_Facility].Facility_RoofGarden = @RoofGarden)
            END
        END
        select * from @results order by Estate_Code;
        DECLARE @ErrorCode INT;
            DECLARE @Result INT;
            SET @ErrorCode = @@ERROR;
            IF (@ErrorCode <> 0)
            BEGIN
                ROLLBACK TRANSACTION;
                SET @Result=0;
                EXEC Debug_InsertSQLErrorDetails
            END
            ELSE
            BEGIN
                COMMIT TRANSACTION;
                SET @Result=SCOPE_IDENTITY();
            END
    END TRY
    BEGIN CATCH
        SET NOCOUNT OFF
        IF @@TRANCOUNT > 0 
        BEGIN
            ROLLBACK TRANSACTION;   
        END
        EXEC Debug_InsertSQLErrorDetails
        SET @Result=0;
    END CATCH
END
ALTER过程[dbo].[propertyFilterByCity]
@城市NVARCHAR(150)=空,
@DefaultPageIndex smallint=NULL,
@DefaultPageSize smallint=NULL,
@RecordCount位=空,
@最小价格小数(18,0)=空,
@MaxPrice十进制(18,0)=空,
@参数smallint=NULL,
@PropertyType NVARCHAR(20)=空,
@requestType NVARCHAR(20)=空,
@停车位=空,
@RemoteParking位=空,
@大堂位=空,
@AssemblyHall位=空,
@Gym位=空,
@监视位=空,
@FireAlarm位=空,
@位=空,
@池位=空,
@桑拿位=空,
@按摩浴缸位=空,
@Carwash位=NULL,
@位=空,
@位=空,
@发射位=空,
@TheftAlarm位=空,
@PanelFit位=空,
@哨兵位=空,
@中心卫星位=空,
@CentralLantenna位=空,
@壁炉位=空,
@主控室位=空,
@天井位=空,
@烧烤位=NULL,
@UPS位=空,
@位=空
作为
开始
开始尝试
不计数;
开始交易;
声明@CityId int;
如果存在(从[^Estate\u City]中选择Estate\u CityId,其中Estate\u CityName=@City)
开始
设置@CityId=(从[^Estate\u City]中选择Estate\u CityId,其中Estate\u CityName=@City);
结束
如果(@MinPrice不为空,@MaxPrice不为空)
开始
如果(@MaxPrice>0和@MaxPrice>@MinPrice)
开始
声明@results TABLE(RowNum INT,Estate_Code BIGINT,Estate_property type NVARCHAR(50),Estate_buildingara NVARCHAR(20),Estate_floor NVARCHAR(10),Estate_neighborhood property NVARCHAR(100),Estate_street1 NVARCHAR(100),
房地产街道2 NVARCHAR(100),房地产访问BIGINT,houseImage NVARCHAR(最大),houseImage1 NVARCHAR(最大),houseImage2 NVARCHAR(最大),houseImage3 NVARCHAR(最大),houseImage4 NVARCHAR(最大),业主请求类型NVARCHAR(最大),
设施描述(最大),房地产卧室数量(2))
插入@results(RowNum、Estate_代码、Estate_Property类型、Estate_buildingArea、Estate_floor、Estate_NeighboryProperty、Estate_street1、Estate_street2、Estate_访问、houseImage、houseImage1、,
House Image2、House Image3、House Image4、所有者\u请求类型、设施\u描述、地产\u卧室数量)
选择(按[^Estate]排序的)上的行号()。[Estate]代码为[ROW],[Estate]。Estate代码,[^Estate]。Estate属性类型,[^Estate]。Estate建筑区域,[^Estate]。Estate楼层,[^Estate]。Estate街道1,[^Estate]。Estate街道2,[^Estate]。Estate访问,[^Estate街道图像]。房屋图像1,[^Estate\u Images].HouseMage2,[^Estate\u Images].HouseMage3,[^Estate\u Images].HouseMage4,[^Estate\u OwnerInfo].RequestType,[^Estate\u设施].Facility\u descText,[^Estate]。Estate\u卧室计数
来自[^Estate]
[^Estate]上的内部联接[^Estate\u Images]。Estate\u代码=[^Estate\u Images]。Estate\u代码
[^Estate]上的内部联接[^Estate\u OwnerInfo]。所有者代码=[^Estate\u OwnerInfo]。所有者代码
[^Estate]上的内部联接[^Estate\u Facility]。Estate\u代码=[^Estate\u Facility]。Estate\u代码
[^Estate]上的内部联接[^Estate\u City]。Estate\u CityId=[^Estate]。Estate\u CityId
哪里
(@CityId为NULL或[^Estate]。Estate\u CityId=@CityId)和
(@requestType为NULL或[^Estate\u OwnerInfo]。requestType\u Type=@requestType)和
([^Estate]。Estate_@MinPrice和@MaxPrice之间的总价)和
(@卧室为空或[^Estate]。Estate_bedRoomCount>@卧室)和
(@PropertyType为NULL或[^Estate]。Estate\u PropertyType=@PropertyType)和
(@requestType为NULL或[^Estate\u OwnerInfo]。requestType\u Type=@requestType)和
(@卧室为空或[^Estate]。Estate_bedRoomCount=@卧室)和
(@Parking为空或[^Estate\u Facility]。Facility\u Parking=@Parking)和
(@RemoteParking为空或[^Estate\u Facility]。Facility\u RemoteParking=@RemoteParking)和
(@lobble为空或[^Estate\u Facility]。Facility\u lobble=@lobble)和
(@Gym为空或[^Estate\u Facility]。Facility\u Gym=@Gym)和
(@supervision为空或[^Estate\u Facility]。Facility\u supervision=@supervision)和
(@FireAlarm为空或[^Estate\u Facility]。Facility\u FireAlarm=@FireAlarm)和
(@firstics为空或[^Estate\u Facility]。Facility\u firstics=@firstics)和
(@Pool为空或[^Estate\u Facility]。Facility\u Pool=@Pool)和
(@桑拿为空或[^Estate\u Facility]。Facility\u桑拿=@桑拿)和
(@Jacuzzi为空或[^Estate\u Facility]。Facility\u Jacuzzi=@Jacuzzi)和
(@Carwash为空或[^Estate\u Facility]。Facility\u Carwash=@Carwash)和
(@洗衣房为空或[^Estate\u Facility]。Facility\u洗衣房=@洗衣房)和
(@托管人为空或[^Estate\u Facility]。Facility\u托管人=@托管人)和
(@Shooting为空或[^Estate\u Facility]。Facility\u Shooting=@Shooting)和
(@TheftAlarm为NULL或[^Estate\u Facility]。Facility\u TheftAlarm=@TheftAlarm)和
(@PanelFit为NULL或[^Estate\u Facility]。Facility\u PanelFit=@PanelFit)和
(@Sentry为空或[^Estate\u Facility]。设施