文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SQL Server stordedprocedure 使用IN的寫法

SQL Server stordedprocedure 使用IN的寫法

时间:2010-12-14  来源:wangman

 

先在SQL SERVER建立一個字串拆解成datatable 的StoredProcedure,然後在其他的StoredProcedure呼叫此StoredProcedure即可。

 

1.SQL SERVER  連接字串拆解成Datatable StoredProcedure

範例:"我,他,你" 

結果:

 

代码  1 ALTER Function [dbo].[fn_slip_str]
 2 ( 
 3 @InStr nvarchar(2000), 
 4 @s_char nvarchar(1) 
 5 ) 
 6 Returns @tb Table 
 7 ( 
 8 sno int, 
 9 data nvarchar(100) 
10 ) 
11 As 
12 Begin 
13     /*依據傳入字元進行字串分割,回傳Table*/ 
14     /* 
15     Declare @InStr nvarchar(2000) , @s_char nvarchar(1); 
16     Set @InStr = '字串一,字串2,字串3,字串4'; 
17     Set @s_char = ',';*/ 
18   
19     Set @InStr = @s_char + @InStr + @s_char; 
20     Declare @p1 Int , @p2 Int , @data nvarchar(100) , @sno int; 
21     Set @p1 = -1 ; Set @p2 = -1 ; Set @data = '' ; Set @sno = 0; 
22     While ( 0 Not In (@P1,@P2) ) Begin 
23   Set @p1 = CharIndex(@s_char,@InStr,@p1+1); 
24   Set @p2 = CharIndex(@s_char,@InStr,@p1+1); 
25   If ( 0 In (@p1,@p2) )  
26       Break; 
27   Set @data = SubString(@InStr,@p1+1,@p2-@p1-1); 
28   if ( @data <> '' ) Begin 
29       Set @sno = @sno +1; 
30       Insert Into @tb ( sno , data ) Values ( @sno , @data ) 
31   End 
32     End 
33     Return 
34 End 
35 
36 

 

 

 

 

 

2.其他StoredProcedure要使用時,可將傳進來的字串拆解成datatable即可使用動態使用In

範例:XX(欄位) IN (Select Data From dbo.fn_slip_str("我,他,你",','))

相关阅读 更多 +
排行榜 更多 +
坦克战争世界

坦克战争世界

模拟经营 下载
丛林反击战

丛林反击战

飞行射击 下载
几何飞行安卓版

几何飞行安卓版

飞行射击 下载