Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. USE TM_RODELER
  2. GO
  3.  
  4. IF OBJECT_ID('GET_VIEWS_CREATE_PROGRAMS_FROM_LINKED_SERVER_sp') IS NOT NULL
  5. DROP PROCEDURE GET_VIEWS_CREATE_PROGRAMS_FROM_LINKED_SERVER_sp
  6. GO
  7.  
  8. /*
  9.  
  10. EXEC GET_VIEWS_CREATE_PROGRAMS_FROM_LINKED_SERVER_sp
  11.  
  12. */
  13. CREATE PROCEDURE GET_VIEWS_CREATE_PROGRAMS_FROM_LINKED_SERVER_sp
  14. AS
  15. BEGIN
  16. DELETE
  17. FROM program
  18. WHERE code = 'L9W'
  19.  
  20. INSERT INTO program (
  21. code
  22. ,NAME
  23. ,type
  24. )
  25. SELECT 'L9W'
  26. ,'Linked server'
  27. ,1
  28.  
  29. DECLARE @program_code_s VARCHAR(100) = 'L9W'
  30. DECLARE @program_code VARCHAR(100) = ''
  31. DECLARE @table_type VARCHAR(100) = 'SIMPLE TABLE'
  32. DECLARE @layout_type VARCHAR(100) = 'GRID'
  33. DECLARE @linked_server VARCHAR(1000) = '[BI-DWH.PROD.LOCAL\BIPROD].[BetaMedia_DWH].[aml].'
  34. DECLARE @query_s VARCHAR(8000) = 'SELECT top 10 * FROM ' + @linked_server
  35. DECLARE @query VARCHAR(8000)
  36. DECLARE @view_t AS TABLE (NAME VARCHAR(1000))
  37.  
  38. INSERT INTO @view_t (NAME)
  39. SELECT 'CBOAccount'
  40.  
  41. UNION
  42.  
  43. SELECT 'CBOCustomerFile'
  44.  
  45. UNION
  46.  
  47. SELECT 'CBOFnsAnswer'
  48.  
  49. UNION
  50.  
  51. SELECT 'CBOFnsQuestion'
  52.  
  53. UNION
  54.  
  55. SELECT 'DimAccount'
  56.  
  57. UNION
  58.  
  59. SELECT 'DimAsset'
  60.  
  61. UNION
  62.  
  63. SELECT 'DimBrand'
  64.  
  65. UNION
  66.  
  67. SELECT 'DimCurrency'
  68.  
  69. UNION
  70.  
  71. SELECT 'DimPositionProperties'
  72.  
  73. UNION
  74.  
  75. SELECT 'DimTransactionProperties'
  76.  
  77. UNION
  78.  
  79. SELECT 'DimUserAgent'
  80.  
  81. UNION
  82.  
  83. SELECT 'FactPositions'
  84.  
  85. UNION
  86.  
  87. SELECT 'FactTransactions'
  88.  
  89. UNION
  90.  
  91. SELECT 'DimCustomer'
  92.  
  93. /**/
  94. DECLARE @curr_letter CHAR(1) = 'A'
  95. DECLARE @view_name VARCHAR(1000)
  96. DECLARE @c AS CURSOR
  97.  
  98. SET @c = CURSOR
  99. FOR
  100.  
  101. SELECT NAME
  102. FROM @view_t
  103.  
  104. OPEN @c
  105.  
  106. FETCH @c
  107. INTO @view_name
  108.  
  109. WHILE @@fetch_status <> - 1
  110. BEGIN
  111. SET @program_code = @program_code_s + @curr_letter
  112. SET @query = @query_s + @view_name
  113.  
  114. select @program_code
  115. ,@view_name
  116. ,2
  117. ,@table_type
  118. ,@view_name
  119. ,@query
  120. ,@layout_type
  121. ,@view_name
  122.  
  123. EXEC insert_sp 'program'
  124. ,@program_code
  125. ,@view_name
  126. ,2
  127. ,@table_type
  128. ,@view_name
  129. ,@query
  130. ,@layout_type
  131. ,@view_name
  132.  
  133. SET @curr_letter = CHAR(ASCII(@curr_letter) + 1)
  134.  
  135. /**/
  136. FETCH @c
  137. INTO @view_name
  138. END
  139.  
  140. CLOSE @c
  141.  
  142. DEALLOCATE @c
  143. END
  144. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement