Doe maar gewoon, dan doe je al gek genoeg.
Verwijderd
Niet getest..
code:
1
2
3
4
5
6
7
8
9
10
11
12
| CREATE STORED PROCEDURE Tessie
(
@ID int,
@MyTable varchar(64)
)
<snip>
exec 'SELECT * FROM '+@MyTable'+WHERE ID = '+convert(varchar(10),@ID)
RETURN
END
GO |
edit:
cast moest convert zijn.
cast moest convert zijn.
Verwijderd
code:
1
2
3
4
5
6
7
8
| CREATE PROCEDURE foo
@sMyTable nvarchar(125),
@iID int
AS
DECLARE @sQuery nvarchar(4000)
SET @sQuery=N'SELECT * FROM ' + @sMyTable + 'WHERE ID=@iMyID'
EXEC sp_executesql @sQuery, N'@iMyID int', @iID |
zie ook help bij sp_executesql system stored procedure in books online.
Uiteraard werkt dit prima, maar hou wel rekening mee dat dit qua performance meestal minder goed is. Soms is het efficienter om meerdere procedures te maken voor verschillende zoek acties.