Skip to content

Commit 09a7c50

Browse files
authored
Added snippets to create common SQL objects (#1)
Added snippets to create common SQL objects like tables, stored-procedures, user-defined functions..etc ## Changes - Added snippet for table creation - Added snippet for view creation - Added snippet for scalar/table valued functions creation - Added snippet for procedure creation - Added snippet for DML triggers creation (`INSERT`, `UPDATE`, `DELETE`) - Added snippet for comment block
2 parents 7d1cb71 + eceb75b commit 09a7c50

File tree

6 files changed

+181
-0
lines changed

6 files changed

+181
-0
lines changed

snippets/functions.cson

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
'.source.sql':
2+
'Create Scalar-Valued User-Defined Function (UDF)':
3+
prefix: 'create udf'
4+
body: '''
5+
-------------------------------------------------------------------------------
6+
-- UDF: dbo.${1:UDF_NAME}
7+
-------------------------------------------------------------------------------
8+
9+
create or alter function dbo.${1:UDF_NAME}(
10+
$2
11+
)
12+
returns ${3:RETURN_VALUE_DATATYPE}
13+
as
14+
begin
15+
16+
declare @value ${3:RETURN_VALUE_DATATYPE}
17+
18+
$4
19+
20+
return @value
21+
22+
end
23+
go
24+
25+
26+
grant execute on dbo.${1:UDF_NAME} to public
27+
'''
28+
'Create Table-Valued User-Defined Function (UDF)':
29+
prefix: 'create tudf'
30+
body: '''
31+
-------------------------------------------------------------------------------
32+
-- UDF: ${1:t_TABLE_UDF_NAME}
33+
-------------------------------------------------------------------------------
34+
35+
create or alter function ${1:t_TABLE_UDF_NAME}(
36+
$2
37+
)
38+
returns @t table (
39+
$3
40+
)
41+
as
42+
begin
43+
44+
$4
45+
46+
return @t
47+
48+
end
49+
go
50+
51+
52+
grant select, insert, update, delete on ${1:t_TABLE_UDF_NAME} to public
53+
'''

snippets/general.cson

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
'.source.sql':
2+
'Add Comment Block':
3+
prefix: '---'
4+
body: '''
5+
-------------------------------------------------------------------------------
6+
-- $1
7+
-------------------------------------------------------------------------------
8+
'''

snippets/procedures.cson

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
'.source.sql':
2+
'Create Stored Procedure':
3+
prefix: 'create proc'
4+
body: '''
5+
-------------------------------------------------------------------------------
6+
-- PROCEDURE: ${1:PROCEDURE_NAME}
7+
-------------------------------------------------------------------------------
8+
9+
create or alter procedure ${1:PROCEDURE_NAME}(
10+
$2
11+
)
12+
as
13+
begin
14+
15+
$3
16+
17+
end
18+
go
19+
20+
21+
grant execute on ${1:PROCEDURE_NAME} to public
22+
'''

snippets/tables.cson

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
'.source.sql':
2+
'Create Table':
3+
prefix: 'create table'
4+
body: '''
5+
-------------------------------------------------------------------------------
6+
-- TABLE: ${1:TABLE_NAME}
7+
-------------------------------------------------------------------------------
8+
9+
drop table if exists ${1:TABLE_NAME}
10+
go
11+
12+
13+
create table ${1:TABLE_NAME}(
14+
$2
15+
)
16+
go
17+
18+
19+
grant select, insert, update, delete on ${1:TABLE_NAME} to public
20+
go
21+
'''

snippets/triggers.cson

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
'.source.sql':
2+
'Create DML Trigger (INSERT)':
3+
prefix: 'create trigger insert'
4+
body: '''
5+
-------------------------------------------------------------------------------
6+
-- TRIGGER: ${1:TABLE_NAME}_INSERT
7+
-------------------------------------------------------------------------------
8+
9+
create or alter ${1:TABLE_NAME}_INSERT on ${1:TABLE_NAME} after insert
10+
as
11+
begin
12+
13+
-- New table records:
14+
select * from inserted i
15+
16+
$2
17+
18+
end
19+
go
20+
'''
21+
'Create DML Trigger (UPDATE)':
22+
prefix: 'create trigger update'
23+
body: '''
24+
-------------------------------------------------------------------------------
25+
-- TRIGGER: ${1:TABLE_NAME}_UPDATE
26+
-------------------------------------------------------------------------------
27+
28+
create or alter ${1:TABLE_NAME}_UPDATE on ${1:TABLE_NAME} after update
29+
as
30+
begin
31+
32+
-- Updated table records:
33+
select * from inserted i inner join deleted d on d.$identity = i.$identity
34+
35+
$2
36+
37+
end
38+
go
39+
'''
40+
'Create DML Trigger (DELETE)':
41+
prefix: 'create trigger delete'
42+
body: '''
43+
-------------------------------------------------------------------------------
44+
-- TRIGGER: ${1:TABLE_NAME}_DELETE
45+
-------------------------------------------------------------------------------
46+
47+
create or alter ${1:TABLE_NAME}_DELETE on ${1:TABLE_NAME} after delete
48+
as
49+
begin
50+
51+
-- Deleted table records:
52+
select * from deleted d
53+
54+
$2
55+
56+
end
57+
go
58+
'''

snippets/views.cson

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
'.source.sql':
2+
'Create View':
3+
prefix: 'create view'
4+
body: '''
5+
-------------------------------------------------------------------------------
6+
-- VIEW: ${1:v_VIEW_NAME}
7+
-------------------------------------------------------------------------------
8+
9+
create or alter view ${1:v_VIEW_NAME}
10+
as
11+
12+
$2
13+
14+
go
15+
16+
17+
grant select, insert, update, delete on ${1:v_VIEW_NAME} to public
18+
go
19+
'''

0 commit comments

Comments
 (0)