mirror of
https://github.com/iscmt/event-parser.git
synced 2026-04-04 06:02:24 -04:00
Reorganized directory structure
This commit is contained in:
105
BulkInsert_StoredProcedure.sql
Executable file
105
BulkInsert_StoredProcedure.sql
Executable file
@@ -0,0 +1,105 @@
|
||||
/****** Object: StoredProcedure [dbo].[ImportLogs] Script Date: 19/07/2019 06:14:23 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[ImportLogs] @filepath NVARCHAR(500),
|
||||
@bulkinsert NVARCHAR(2000)
|
||||
AS
|
||||
IF Object_id('event_logs') IS NOT NULL
|
||||
BEGIN
|
||||
-- The bulk insert command must be built as a string because the filepath of the CSV file cannot be passed as a paramter.
|
||||
-- https://stackoverflow.com/questions/15671971/syntax-error-when-defining-a-parameter-for-bulk-insert
|
||||
SET @bulkinsert = N'BULK INSERT event_logs FROM '''
|
||||
+ @filepath
|
||||
+
|
||||
N''' WITH (FIELDTERMINATOR = '','', ROWTERMINATOR = ''\n'')'
|
||||
EXEC sp_executesql @bulkinsert
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
/****** Object: Table [dbo].[event_logs] Script Date: 19/07/2019 05:57:04 ******/
|
||||
SET ansi_nulls ON
|
||||
SET quoted_identifier ON
|
||||
|
||||
CREATE TABLE [dbo].[event_logs]
|
||||
(
|
||||
[guid] [VARCHAR](100) NOT NULL,
|
||||
[level] [VARCHAR](100) NULL,
|
||||
[date_and_time] [VARCHAR](100) NULL,
|
||||
[source] [VARCHAR](100) NULL,
|
||||
[event_id] [SMALLINT] NULL,
|
||||
[task_category] [VARCHAR](100) NULL,
|
||||
[extracted_account_name] [VARCHAR](100) NOT NULL,
|
||||
CONSTRAINT [PK_event_logs] PRIMARY KEY CLUSTERED ( [guid] ASC )
|
||||
WITH (
|
||||
pad_index = OFF, statistics_norecompute = OFF, ignore_dup_key =
|
||||
OFF,
|
||||
allow_row_locks = on, allow_page_locks = on) ON [PRIMARY]
|
||||
)
|
||||
ON [PRIMARY]
|
||||
|
||||
SET ansi_padding ON
|
||||
|
||||
/****** Object: Index [IX_date_and_time] Script Date: 19/07/2019 05:57:04 ******/
|
||||
CREATE NONCLUSTERED INDEX [IX_date_and_time]
|
||||
ON [dbo].[event_logs] ( [date_and_time] ASC )
|
||||
WITH (pad_index = OFF, statistics_norecompute = OFF, sort_in_tempdb
|
||||
=
|
||||
OFF,
|
||||
drop_existing = OFF, online = OFF, allow_row_locks = ON,
|
||||
allow_page_locks
|
||||
=
|
||||
ON) ON [PRIMARY]
|
||||
|
||||
/****** Object: Index [IX_event_id] Script Date: 19/07/2019 05:57:04 ******/
|
||||
CREATE NONCLUSTERED INDEX [IX_event_id]
|
||||
ON [dbo].[event_logs] ( [event_id] ASC )
|
||||
WITH (pad_index = OFF, statistics_norecompute = OFF, sort_in_tempdb
|
||||
=
|
||||
OFF,
|
||||
drop_existing = OFF, online = OFF, allow_row_locks = ON,
|
||||
allow_page_locks
|
||||
=
|
||||
ON) ON [PRIMARY]
|
||||
|
||||
SET ansi_padding ON
|
||||
|
||||
/****** Object: Index [IX_extracted_account_name] Script Date: 19/07/2019 05:57:04 ******/
|
||||
CREATE NONCLUSTERED INDEX [IX_extracted_account_name]
|
||||
ON [dbo].[event_logs] ( [extracted_account_name] ASC )
|
||||
WITH (pad_index = OFF, statistics_norecompute = OFF, sort_in_tempdb
|
||||
=
|
||||
OFF,
|
||||
drop_existing = OFF, online = OFF, allow_row_locks = ON,
|
||||
allow_page_locks
|
||||
=
|
||||
ON) ON [PRIMARY]
|
||||
|
||||
SET ansi_padding ON
|
||||
|
||||
/****** Object: Index [IX_task_category] Script Date: 19/07/2019 05:57:04 ******/
|
||||
CREATE NONCLUSTERED INDEX [IX_task_category]
|
||||
ON [dbo].[event_logs] ( [task_category] ASC )
|
||||
WITH (pad_index = OFF, statistics_norecompute = OFF, sort_in_tempdb
|
||||
=
|
||||
OFF,
|
||||
drop_existing = OFF, online = OFF, allow_row_locks = ON,
|
||||
allow_page_locks
|
||||
=
|
||||
ON) ON [PRIMARY]
|
||||
|
||||
-- Import records once database has been created.
|
||||
SET @bulkinsert = N'BULK INSERT event_logs FROM '''
|
||||
+ @filepath
|
||||
+
|
||||
N''' WITH (FIELDTERMINATOR = '','', ROWTERMINATOR = ''\n'')'
|
||||
EXEC sp_executesql @bulkinsert
|
||||
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
Reference in New Issue
Block a user