Tables dynamics en sql

Y at-il une méthode pour créer des tables dynamics dans sql server 2000?

Vous pouvez créer des tables temporaires en les préfixant avec un octothorp ( # ), ou vous pouvez utiliser des variables de table précédées du symbole @ .

create table #tempTable (col1 char(1)) -- Temporary table

declare @tempTableVariable table (col1 char(1)) -- Table variable

De http://www.sqlteam.com/article/temporary-tables

  • Si vous avez less de 100 lignes, utilisez généralement une variable de table. Sinon, utilisez une table temporaire. En effet, SQL Server ne créera pas de statistics sur les variables de table.
  • Si vous avez besoin de créer des index, vous devez utiliser une table temporaire.
  • Lorsque vous utilisez des tables temporaires, créez-les toujours et créez des index, puis utilisez-les. Cela aidera à réduire les recompilations. L'impact de cela est réduit à partir de SQL Server 2005 mais c'est toujours une bonne idée.

Voici un exemple de fonction définie par l'user qui renvoie une variable de table:

 CREATE FUNCTION getDynamicTable () RETURNS @output table ( id int identity, value nvarchar(50) ) AS BEGIN insert into @output (value) values ('test 1') insert into @output (value) values ('test 2') return END 

J'espère que cela t'aides