 |
|
สอบถามเรื่องการส่ง Parameter ไปให้ Query ที่ใช้เงื่อนไข in ในการ where (Query เขียนใน Stored Procedure) |
|
 |
|
|
 |
 |
|
ยกตัวอย่างจริงให้ดูเลยครับ หนึ่งในเก้าวิธีการผ่านค่าพารามิเตอร์ให้กับ SP
ตัวอย่างการ CALL
Code (SQL)
EXECUTE [dbo].[msrFormPerm_usp02] @RoleIDc = N'997, 998', @UserID = 0
Store Procedure msrFormPerm_usp02
Code (SQL)
USE [yourDB]
GO
/****** Object: StoredProcedure [dbo].[msrFormPerm_usp02] Script Date: 07/16/2014 07:20:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[msrFormPerm_usp02]
(
@RoleIDc AS nvarchar(MAX) = '',
@UserID AS int = 0
)
AS
BEGIN
SET NOCOUNT ON ;
DECLARE @strSQL AS nvarchar(MAX) ='' ;
SET @strSQL = 'SELECT c.ACL,
0 As Flag,
0 As Priority
FROM msrFormPerm c WHERE (c.RoleID = 0 OR c.RoleID IS NULL) AND c.UserID ='
+ ' '
+ CAST(@UserID AS varchar)
+ ' '
+ 'UNION ALL'
+ ' '
+ 'SELECT a.ACL,
1 As Flag,
b.Priority
FROM msrFormPerm a INNER JOIN msrRoles b ON a.RoleID = b.RoleID
WHERE a.RoleID IN('
+ ' '
+ @RoleIDc
+ ') '
+ 'AND (a.UserID = 0 OR a.UserID IS NULL)' ;
EXEC sp_executesql @strSQL ;
END
ปล. 1. EXECUTE หรือเขียนคำย่อ EXEC
-----2. อีกวิธีหนึ่งที่ผมเลือกใช้ผ่านค่า โดยใช้เทคนิค NVARCHAR
-----3. งานจริงไม่มีอะไรง่ายง่ายครับ
แก้ไขเผื่อคุณมองข้างหลังภาพไม่ออกครับ (2014-07-16 08:37 AM)
Table Design By : หน้าฮี

|
ประวัติการแก้ไข 2014-07-16 07:44:12 2014-07-16 08:39:17 2014-07-16 08:41:10
 |
 |
 |
 |
Date :
2014-07-16 07:33:22 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
การเขียน Store Procedure ให้คิดเสียว่ามันคือการ "ต้มมาม่า/ยำยำ"
หลักการมันมีแค่นี้ครับ
(อาจจะมีบางคนคิดว่าตัวเองใช้ Store Procedure แล้วกลายเป็น โปรแกรมเมอร์เทวดาไปเลยก็มีครับ)
จาก #NO 1 ลองไล่ดูครับ ตัวอย่าง/งานจริง ที่ผมมีอยู่อันนี้ง่ายที่สุดแล้วครับ
มันตอบโจทย์ของคุณได้ >>>> 2 ข้อครับ
ปล. บางครั้งบางคราว ผมเหงา บางครั้งบางคราว ผมไม่มีสมาธิ ตอนกลางคืน ผมมักจะไปนั่งคนเดียวในป่าช้า/เมนเผาศพ
----- ลึกลึกก็กลัวผีเหมือนกันแต่ความเหงา/ต้องการสมาธิ มันทำให้หายกลัวและกลายเป็นความเคยชินครับ (ไม่กลัว)
อันนี้ผมพูดจริงนะครับ วันออกพรรษาปีนี้ผมตั้งใจว่าจะให้ภรรยาและครอบครัวเที่ยวให้หนำใจไปเลยครับ
จ.แม่ฮ่องสอน จ.เชียงราย จ.เชียงใหม่ หล่อนอยากจะไปไหนก็ไป (ของชอบของหล่อนเลย ผู้ว่าการท่องเที่ยว)
แต่ผมจะไปนอนค้างที่ป่าช้ากลางป่า ถ้ามาจาก จ.ลำปางและขึ้นไปทาง จ.เชียงราย จะอยู่ขวามือ
อยู่ช่วงรอยต่อระหว่าง ถ้ำเจ้าพ่อประตูผาและจังหวัดพะเยา (เลยถ้ำประตูผามาประมาณ 50 กิโลเมตร ถ้าจำไม่ผิด)
ตั้งใจว่าจะอยู่สักอาทิตย์หนึ่งครับ (ผมเคยผ่านและคิดว่ามันวังเวงพอใช้ได้ครับ)
|
ประวัติการแก้ไข 2014-07-16 08:00:09 2014-07-16 08:08:48 2014-07-16 08:15:54 2014-07-16 08:27:03 2014-07-16 08:27:42 2014-07-16 08:28:22
 |
 |
 |
 |
Date :
2014-07-16 07:58:13 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|