當前位置:首頁 » 存儲配置 » 存儲過程多條件查詢

存儲過程多條件查詢

發布時間: 2022-07-24 02:30:38

1. sql存儲過程中如何實現多參數協調查詢

定義5個參數,然後調用此存儲過程的時候傳參數的時候指定參數名稱即可,傳幾個就是幾個

2. 存儲過程兩表連接多條件查詢語句怎樣寫

假設你的查詢條件為infoTitle和InfoBody

那麼存儲過程如下:

createprocdbo.Usp_GetInfo
(
@infoTitleasvarchar(50)='',
@InfoBodyasvarchar(50)=''
)
as
begin
select
InfoTitle,InfoBody,tel,PubDate,linkMan,KindName
from
Info
innerjoinInfoKindsonInfo.InfoKindid=InfoKinds.InfoKindid
where
InfoTitlelike'%'+@InfoTitle+'%'
andInfoBodylike'%'+@InfoBody+'%'
end

執行或調用存儲過程語句:

--一、查詢全部
dbo.Usp_GetInfo
--二、按@infoTitle模糊查詢
dbo.Usp_GetInfo@infoTitle='標題'
--三、按@InfoBody模糊查詢
dbo.Usp_GetInfo@InfoBody='內容'
--四、按@infoTitle和@InfoBody模糊查詢
dbo.Usp_GetInfo@infoTitle='標題',@InfoBody='內容'

3. 如何對存儲過程返回的結果進行條件查詢

很多人喜歡用存儲過程實現一些數據的查詢工作,假如客戶端用戶(是指使用這些存儲過程的程序員)需要對得到的結果進行篩選,大多數的人將會無計可施,本文將根據一個實例介紹一種解決此問題的方法。 Create Table #TmpTable(FieldList) Insert Into #TmpTable Exec StoreProcereName ParameterList創建臨時表語句中的欄位列表FeildList需要和存儲過程返回的欄位順序一致;ParameterList是存儲過程要用到的參數。執行完之後,大家就可以使用Select語句對剛創建的臨時表進行條件查詢了。最後請不要忘記刪除掉臨時表。

4. 存儲過程中的多條件查詢語句怎麼寫

存儲過程中的多條件查詢語句怎麼寫
create proc dbo.Usp_GetInfo
(
@infoTitle as varchar(50)='',
@InfoBody as varchar(50)=''
)
as
begin
select
InfoTitle,InfoBody,tel,PubDate,linkMan,KindName
from
Info
inner join InfoKinds on Info.InfoKindid=InfoKinds.InfoKindid
where
InfoTitle like '%'+@InfoTitle+'%'
and InfoBody like '%'+@InfoBody+'%'
end

5. sql存儲過程定義多條件查詢加分頁

給你一個強大至極的分頁存儲過程(輸入對應的參加即可),以此共勉,希望你也能進步:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[Pagination]
@Page int = 1, -- 當前頁碼
@PageSize int = 10, -- 每頁記錄條數(頁面大小)
@Table nvarchar(500), -- 表名或視圖名,甚至可以是嵌套SQL:(Select * From Tab Where ID>1000) Tab
@Field nvarchar(800) = '*', -- 返回記錄集欄位名,","隔開,默認是"*"
@OrderBy nvarchar(100) = 'ID ASC', -- 排序規則
@Filter nvarchar(500), -- 過濾條件
@MaxPage smallint output, -- 執行結果 -1 error, 0 false, maxpage true
@TotalRow int output, -- 記錄總數 /* 2007-07-12 22:11:00 update */
@Descript varchar(100) output -- 結果描述
AS
BEGIN

-- =============================================
-- Author: Jimmy.Yu
-- Create date: 2007-5-11
-- Description: SQL 2005 以上版本 通用分頁存儲過程
-- =============================================

Set ROWCOUNT @PageSize;

Set @Descript = 'successful';
-------------------參數檢測----------------
IF LEN(RTRIM(LTRIM(@Table))) !> 0
Begin
Set @MaxPage = 0;
Set @Descript = 'table name is empty';
Return;
End

IF LEN(RTRIM(LTRIM(@OrderBy))) !> 0
Begin
Set @MaxPage = 0;
Set @Descript = 'order is empty';
Return;
End

IF ISNULL(@PageSize,0) <= 0
Begin
Set @MaxPage = 0;
Set @Descript = 'page size error';
Return;
End

IF ISNULL(@Page,0) <= 0
Begin
Set @MaxPage = 0;
Set @Descript = 'page error';
Return;
End
-------------------檢測結束----------------

Begin Try
-- 整合SQL
Declare @SQL nvarchar(4000), @Portion nvarchar(4000);

Set @Portion = ' ROW_NUMBER() OVER (ORDER BY ' + @OrderBy + ') AS ROWNUM FROM ' + @Table;

Set @Portion = @Portion + (CASE WHEN LEN(@Filter) >= 1 THEN (' Where ' + @Filter + ') AS tab') ELSE (') AS tab') END);

Set @SQL = 'Select TOP(' + CAST(@PageSize AS nvarchar(8)) + ') ' + @Field + ' FROM (Select ' + @Field + ',' + @Portion;

Set @SQL = @SQL + ' Where tab.ROWNUM > ' + CAST((@Page-1)*@PageSize AS nvarchar(8));

-- 執行SQL, 取當前頁記錄集
Execute(@SQL);
--------------------------------------------------------------------

-- 整合SQL
Set @SQL = 'Set @Rows = (Select MAX(ROWNUM) FROM (Select' + @Portion + ')';

-- 執行SQL, 取最大頁碼
Execute sp_executesql @SQL, N'@Rows int output', @TotalRow output;
Set @MaxPage = (CASE WHEN (@TotalRow % @PageSize)<>0 THEN (@TotalRow / @PageSize + 1) ELSE (@TotalRow / @PageSize) END);
End Try
Begin Catch
-- 捕捉錯誤
Set @MaxPage = -1;
Set @Descript = 'error line: ' + CAST(ERROR_LINE() AS varchar(8)) + ', error number: ' + CAST(ERROR_NUMBER() AS varchar(8)) + ', error message: ' + ERROR_MESSAGE();
Return;
End Catch;

-- 執行成功
Return;
END

6. SQL的多條件查詢的存儲過程問題

第一個文本:輸入材質。第二個文本框,輸入最小價格。第三個文本框:輸入最大價格。
然後按搜索按鈕string
pm,cz,min,max;(接收輸入的時候最大最小價格是string類型,資料庫里的價格是int類型的,存儲過程中要不要轉換,後台程序中怎麼轉換)默認下拉框是請選擇
輸入情況例如:
P1,C1,1,1000
(篩選符合條件的)
P1,C1,1,沒寫
請選擇,C1,沒寫,1000(意思是只有第二個和第四個有值)
根據輸入的條件顯示符合的信息(有一個條件就一個條件篩選,多個條件就多個條件來篩選)
問題:這樣的存儲過程應該怎麼寫(需要寫好注釋)補充:
表中欄位
ID,品名,材質,價格,備注,其他
價格是
int類型
剩下的都是nvarchar類型

7. 存儲過程條件查詢

存儲過程中的多條件查詢語句怎麼寫
create proc dbo.Usp_GetInfo
(
@infoTitle as varchar(50)='',
@InfoBody as varchar(50)=''
)
as
begin
select
InfoTitle,InfoBody,tel,PubDate,linkMan,KindName
from
Info
inner join InfoKinds on Info.InfoKindid=InfoKinds.InfoKindid
where
InfoTitle like '%'+@InfoTitle+'%'
and InfoBody like '%'+@InfoBody+'%'
end

8. sqlserver中存儲過程多條件組合查詢

where="1=1"

if(war1!="")
{
where+=" and war1="+war1;
}

if(war2!="")
{
where+=" and war2="+war2;
}

string sql="select * from ss where "+where;

exec(sql)

9. sql 存儲過程多條件查詢

DECLARE @sign char(1)
DECLARE @SQL nvarchar(4000)
SET @sql='SELECT distinct isnull(pd.PatientGivenName,'') , isnull(pd.PatientFamilyName,'')+' '+isnull(pd.PatientMiddleName,'') FROM dbo.PatientDemographics pd where 1=1'

DECLARE @sign char(1)
SET @sign=','
DECLARE @SQL nvarchar(4000)
SET @sql='SELECT distinct isnull(pd.PatientGivenName,'')'+@sign+' isnull(pd.PatientFamilyName,'')+' '+isnull(pd.PatientMiddleName,'') FROM dbo.PatientDemographics pd where 1=1'
insert進我定義的一個表如下:
DECLARE @indextable TABLE(rowid INT IDENTITY(1,1),nid INT)
INSERT INTO @indextable(nid) --將符合的記錄插入到臨時表中
SELECT [ID]
FROM table1
Where 條件

熱點內容
什麼配置可以算神機 發布:2024-10-06 21:52:09 瀏覽:421
兩條吊筋怎麼配置高度 發布:2024-10-06 21:46:22 瀏覽:490
安卓平板b站緩存文件位置 發布:2024-10-06 21:44:43 瀏覽:906
能緩存視頻的播放器 發布:2024-10-06 21:36:48 瀏覽:132
安卓接入點哪個好 發布:2024-10-06 21:25:01 瀏覽:450
ns伺服器怎麼搭建 發布:2024-10-06 20:56:22 瀏覽:806
自解壓功能 發布:2024-10-06 20:51:40 瀏覽:591
win7限制上傳速度 發布:2024-10-06 20:42:58 瀏覽:542
php判斷字元串是否空 發布:2024-10-06 20:42:48 瀏覽:118
行業均衡配置基金有哪些 發布:2024-10-06 20:42:11 瀏覽:196