#Temporary views and functions return errors stating they're not allowed. Use Text-only results, and include the execution plan to see the index has been used.
Q&A for designers and implementers of computer programming languages
-- #Temporary tables, indexes and procedures work! -- #Temporary views and functions do not. -- Use Results to Text. -- CREATE PROCEDURE #T_P AS -- Begin -- PRINT GETDATE() -- RETURN -- End -- g-o --CREATE PROCEDURE #T_P2 @v VARCHAR(MAX) AS -- PRINT @v --RETURN; -- GO CREATE TABLE #Test (id int IDENTITY(1,1) NOT NULL, v VARCHAR(MAX) NOT NULL) -- go CREATE INDEX #IX_T on #Test(id) -- g-o --CREATE VIEW #V_T AS SELECT v FROM #Test --CREATE FUNCTION #G_D() RETURNS DATETIME AS --BEGIN -- RETURN GETDATE() --END INSERT INTO #Test(v) SELECT @@VERSION -- go INSERT INTO #Test(v) VALUES ('Yay!') -- go -- #T_P -- go -- #T_P2 'Test' -- go SELECT * FROM #Test