當前位置:首頁 » 存儲配置 » sql存儲過程like

sql存儲過程like

發布時間: 2022-07-19 18:34:50

sql SERVER 2005 存儲過程中怎樣使用 like.

這個應該是說看錶是否有外鍵關系。方法是,在SQL
SERVER
2005的Management但反復執行的動態SQL,可以使用臨時存儲過程,該過程(臨時表)被放在Tempdb中。

② sql存儲過程中,模糊查詢的寫法

ALTER PROCEDURE [dbo].[pro_Search_keys]
@keys nvarchar(max)
AS
BEGIN
SELECT*
FROM text_Text
where Title like 『%』+@keys+『%』
END

③ SQL:存儲過程中的like問題!

like '%'+rtrim(@para1)+'%'

④ SQL存儲過程(含變數)like語句實現不了

@Depart char
首先不要用char,除非你能明確確定字數
其次字元類型一定要標注長度
改為@Depart nvarchar(20)試試

⑤ 關於sql存儲過程的相似查詢

因為like @date這樣將@date整體看做一個變數,或者說將其內部代表的值看做變數,%不在是通配符,而是被轉義為一個普通字元

⑥ 有關SQL存儲過程變數模糊查詢

select
*
from
user
where
user_name
like
'%'
||
變數
||
'%'
這樣寫就可以了。

⑦ sql語句執行指定存儲過程在參數字元串中加like對引號的處理

當前有一存儲過程
執行的時候
exec
的第一個參數需要加like語句

exec
proc_page
'info2
where
id
not
in(
select
top
(0)
id
from
info2
where
centerclass=152
and
bigcity=1
and
centercity=7
order
by
id
desc)
and
bigcity=1
and
centercity=7
and
centerclass=152
and
smallsubclassinfo
like
''%'||小型犬||'%''
'
,'*',10,10,'id',1,'','id',0
請問對like旁的單引號大家都如何處理才能使存儲過程正確執行?

⑧ SQL 存儲過程

仔細思考一下我的解決辦法是否妥當:

因為過程開頭部分已經定義了4個變數,並且都賦初值為'0',

那麼,我們做兩處變動:

1、在你的select語句執行前,我們寫上4個判斷,判斷這4個變數是否被傳入了值,未傳入時怎麼樣處理。

2、修改select語句的where子句(語句中有三個「=」改成like)。

過多的描述也許難以看懂,我直接寫出來,新增或修改的部分,我在後面用了注釋「//--★」(我的寫法是基於Sybase的,你可以看懂的。當然你也可以先看一下後面的【總結】):

if exists(………………………………)
drop ……………………
go
create Proc Proc_ManualSign
@BranchId varchar(10) = '0',
……………………
……………………
@UserName varchar(50) = '0'
as

begin //--★sybase寫法,用於過程開始,參考你的資料庫,看是否需要加

if @BranchId = '0' //--★如果@BranchId依然為初始值(未傳入參數)
select @BranchId = '%' //--★那麼將@BranchId賦值為'%'

if @DepartId = '0' //--★如果@DepartId依然為初始值(未傳入參數)
select @DepartId = '%' //--★那麼將@DepartId賦值為'%'

if @UserId = '0' //--★如果@UserId依然為初始值(未傳入參數)
select @UserId = '%' //--★那麼將@UserId賦值為'%'

if @UserName = '0' //--★如果@UserName依然為初始值(未傳入參數)
select @UserName = '%' //--★那麼將@UserName賦值為'%'

select …………
……………………
and b.BranchId like @BranchId --機構 //--★你原來的「=」改成了「like」
and d.DepartId like @DepartId --部門 //--★你原來的「=」改成了「like」
and m.UserId like @UserId --用戶Id //--★你原來的「=」改成了「like」
and u.UserName like '%'+@UserName+'%' --用戶名

end //--★sybase寫法,用於標注過程結束,參考你的資料庫,看是否需要加

go

======================================================================

【★★--總結--★★】我的辦法:

4個變數初值為'0',excute執行該過程時,if語句就要依次判斷各變數的當前值,判斷的結果無非兩種:①.未傳入值(還是'0'),②.傳入了值(不是'0')

①.未傳入值
if語句判斷出某變數未傳入值,則將該變數置為'%',那麼select語句的where條件中就是該欄位 like '%',也就是該欄位的檢索條件為任意的。

②.傳入了值
傳入了值,則if語句的判斷結果為假(False),那麼直接跳出判斷去執行select語句,雖然where子句的條件中用的是 like 介詞,但沒有通配符'%'的話,like 的作用也就是'=',即:【like '銷售部'】的作用也就是 【='銷售部'】,所以也滿足了輸入參數的精確查詢要求。

執行時:

假如什麼參數也不傳入,即:查詢全部的信息
excute Proc_ManualSign '0', '0', '0', '0'

假如僅部門和用戶ID傳入參數,則
excute Proc_ManualSign '0', '開發部', '319', '0'

⑨ 在SQL中存儲過程的一般語法是什麼

1、 創建語法

createproc|procerepro_name

[{@參數數據類型}[=默認值][output],

{@參數數據類型}[=默認值][output],

....

]

as

SQL_statements

2、 創建不帶參數存儲過程

--創建存儲過程

if(exists(select*fromsys.objectswherename='proc_get_student'))

dropprocproc_get_student

go

createprocproc_get_student

as

select*fromstudent;

--調用、執行存儲過程

execproc_get_student;

3、 修改存儲過程

--修改存儲過程

alterprocproc_get_student

as

select*fromstudent;

4、 帶參存儲過程

--帶參存儲過程

if(object_id('proc_find_stu','P')isnotnull)

dropprocproc_find_stu

go

createprocproc_find_stu(@startIdint,@endIdint)

as

select*fromstudentwhereidbetween@startIdand@endId

go

execproc_find_stu2,4;

5、 帶通配符參數存儲過程

--帶通配符參數存儲過程

if(object_id('proc_findStudentByName','P')isnotnull)

dropprocproc_findStudentByName

go

createprocproc_findStudentByName(@namevarchar(20)='%j%',@nextNamevarchar(20)='%')

as

select*fromstudentwherenamelike@nameandnamelike@nextName;

go

execproc_findStudentByName;execproc_findStudentByName'%o%','t%';

(9)sql存儲過程like擴展閱讀:

SQL存儲過程優點:

1、重復使用。存儲過程可以重復使用,從而可以減少資料庫開發人員的工作量。

2、減少網路流量。存儲過程位於伺服器上,調用的時候只需要傳遞存儲過程的名稱以及參數就可以了,因此降低了網路傳輸的數據量。

3、安全性。參數化的存儲過程可以防止SQL注入式攻擊,而且可以將Grant、Deny以及Revoke許可權應用於存儲過程。

熱點內容
河北存儲服務價格 發布:2025-01-16 12:39:21 瀏覽:342
掛機伺服器的搭建 發布:2025-01-16 12:34:07 瀏覽:414
安卓怎麼刪除信任憑證 發布:2025-01-16 12:22:06 瀏覽:335
代理編譯 發布:2025-01-16 12:07:59 瀏覽:793
伺服器為什麼老是無響應 發布:2025-01-16 12:07:59 瀏覽:891
安卓怎麼傳軟體到蘋果 發布:2025-01-16 12:01:28 瀏覽:952
pythonforzip 發布:2025-01-16 11:59:46 瀏覽:909
磁感密碼鎖有多少鑰匙 發布:2025-01-16 11:41:12 瀏覽:117
酷睿電腦配置怎麼查看 發布:2025-01-16 11:27:26 瀏覽:563
怎麼看安卓手機應用程序 發布:2025-01-16 11:19:36 瀏覽:109