Skip to content

Instantly share code, notes, and snippets.

@traktraktrugui
Last active February 20, 2017 16:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save traktraktrugui/ea54157b69a6d9e2aae65338f2800175 to your computer and use it in GitHub Desktop.
Save traktraktrugui/ea54157b69a6d9e2aae65338f2800175 to your computer and use it in GitHub Desktop.
SQL Server Shortcuts procedure to select the latest lines, ordered by PK column
Use master
go
--SQL SERVER SHORTCUT CTRL+5
--Declare @DB as VarChar(200) = db_name(); exec master.dbo.SelectLastTopN 50, @DB,
If OBJECT_ID('SelectLastTopN') Is Not Null Drop Procedure SelectLastTopN
Go
Create Procedure SelectLastTopN
@Linhas Int = 100,
@Database Varchar(300),
@Tabela VarChar(300)
As Begin
Declare @table1 Table(col varchar(max))
Insert Into @table1(col) Exec('use '+ @Database +'; SELECT top 1 column_name FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS TC INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KU ON TC.CONSTRAINT_TYPE = ''PRIMARY KEY'' AND TC.CONSTRAINT_NAME = KU.CONSTRAINT_NAME and ku.table_name=''' + @Tabela + '''ORDER BY KU.TABLE_NAME, KU.ORDINAL_POSITION;')
Declare @column varchar(max)
select @column = col from @table1
Declare @select VarChar(max) = 'Select Top ' + convert(varchar(5), @Linhas) + ' * FROM ' + @Database + '.dbo.' + @Tabela + ' Order by (' + @column +') Desc'
Declare @query NVarChar(max) = Cast(@Select as nvarchar(max))
execute sp_executesql @query
End
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment