使用SQL Server 2000多張值不插入
我想根據部門
ID Department
001 H001
002 F001
003 S001
004 D001
存儲過程
ALTER PROC [dbo].[proc_Atnd1]
@Dep VARCHAR(100)
AS
BEGIN
DECLARE @SQL VARCHAR(1000)
DECLARE @Flag INT
SELECT @Flag=0
SELECT @SQL = 'SELECT ID FROM Table1 WHERE '
IF @Dep <>'All'
BEGIN
IF @Flag=1
BEGIN
SELECT @SQL = @SQL+' AND (DEPARTMENT IN ('''[email protected]+'''))'
END
ELSE
BEGIN
SELECT @SQL = @SQL+' (DEPARTMENT IN ('''[email protected]+'''))'
SELECT @Flag=1
END
END
if @SQL = 'SELECT ID FROM Table1 WHERE ' SELECT @SQL = 'SELECT ID FROM Table1'
Delete from tb_Sample
INSERT INTO tb_Sample EXEC(@SQL)
end
此存儲過程正在爲個人或選擇ID所有部門,但它不適用於多個部門。
- 如果我傳遞值存儲過程
All
手段,它顯示所有的ID該部門 - 如果我選擇
H001
手段,它是爲H001
部門顯示的ID。 - 如果我選擇
H001
和D001
表示沒有任何顯示。
我將多個部門的值如H001,D001,F001
傳遞給存儲過程。但是存儲過程沒有爲所選部門插入一個ID
我的存儲過程有什麼問題?
需要存儲過程的幫助
謝謝您的回覆,我將使用逗號,而不是雙引號或空格。現在我修改我的問題。 – Gopal
你需要用雙引號包裹每個值......'''' –