Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. --todo: keys, working linebreaks
  2.  
  3. SELECT CONCAT ('CREATE TABLE ', tbl.name, '(', col.colstring, ');')
  4. FROM sys.tables tbl
  5. INNER JOIN (
  6. SELECT DISTINCT col2.object_id, SUBSTRING((
  7. SELECT CONCAT (',', col1.Name, ' ', datatype.name, CASE WHEN col1.max_length > 0 THEN CONCAT ('(', col1.max_length, ')') WHEN col1.max_length < 0 AND datatype.name IN ('nvarchar', 'varchar', 'varbinary', 'binary') THEN '(max)' WHEN col1.precision > 0 AND col1.scale > 0 THEN CONCAT ('(', col1.precision, col1.scale, ')') WHEN col1.precision > 0 THEN CONCAT ('(', col1.precision, ')') ELSE '' END, ' ', CASE col1.is_nullable WHEN 1 THEN 'NULL' ELSE 'NOT NULL' END) AS [text()]
  8. FROM sys.columns col1
  9. INNER JOIN sys.types datatype
  10. ON datatype.user_type_id = col1.user_type_id
  11. WHERE col1.object_id = col2.object_id
  12. ORDER BY col1.object_id
  13. FOR XML PATH('')
  14. ), 2, 1000) [colstring]
  15. FROM sys.columns col2
  16. ) col
  17. ON tbl.object_id = col.object_id
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement