Tuesday, June 22, 2010

Script to create base views (1 to 1 views)

SELECT
CASE WHEN ROW_NUMBER() OVER(PARTITION BY TABLENAME ORDER BY COLUMNID)=1
THEN 'REPLACE VIEW '||TRIM(DATABASENAME)||'_VIEW.'||TRIM(TABLENAME)||'
AS LOCKING ROW FOR ACCESS
SELECT '||TRIM(COLUMNNAME)
WHEN ROW_NUMBER() OVER(PARTITION BY TABLENAME ORDER BY COLUMNID DESC)=1
THEN ','||TRIM(COLUMNNAME)||' FROM '||TRIM(DATABASENAME)||'.'||TRIM(TABLENAME)||';'
ELSE ','||TRIM(COLUMNNAME)
END
FROM DBC.COLUMNS
WHERE DATABASENAME=
ORDER BY TABLENAME,COLUMNID;

Labels: ,