create function quotename_ex ( @obj_name nvarchar(512) ) returns nvarchar(512) as begin declare @quotedname nvarchar(512) set @quotedname = isnull(quotename(parsename(@obj_name, 4)),'') + '.' + isnull(quotename(parsename(@obj_name, 3)),'') + '.' + isnull(quotename(parsename(@obj_name, 2)),'') + '.' + isnull(quotename(parsename(@obj_name, 1)),'') while @quotedname like '.%' set @quotedname = substring(@quotedname,2,512) return @quotedname end go create procedure [Select * from] ( @Table sysname ) as declare @query nvarchar(256) set @query = N'select * from ' + dbo.quotename_ex(@Table) exec (@query) go [Select * from] 'pubs..[authors]' go drop function quotename_ex drop procedure [Select * from]