Easwaran Paramasivam
asked on
Generate insert/update script from Excel sheet
Hi Experts,
Please do refer the attache excel sheets which contain two sample tables. In my database I've two respective tables as given below.
I would like to read the excel sheet and generate sql script for each table based on the table's PK.
Say for example, for the configuration table the expected result looks like given below.
Please guide me how to achieve this? It would be great if you share the coding or existing tool?
Thanks in advance.
SampleExcel.xlsx
Please do refer the attache excel sheets which contain two sample tables. In my database I've two respective tables as given below.
CREATE TABLE CONFIGURATION
(
Name VARCHAR(100) NOT NULL,
NType VARCHAR(100) NOT NULL,
Data VARCHAR(100) NOT NULL,
Datatype VARCHAR(100) NOT NULL,
DataVal VARCHAR(100) NOT NULL,
Remarks VARCHAR(100) NULL)
GO
ALTER TABLE CONFIGURATION
ADD CONSTRAINT PK_NTD PRIMARY KEY CLUSTERED (Name, NType, Data);
GO
CREATE TABLE Settings
(
ID INT NOT NULL,
NKey VARCHAR(100) NOT NULL,
Value VARCHAR(100) NOT NULL,
Remarks VARCHAR(100) NULL
)
GO
ALTER TABLE Settings
ADD CONSTRAINT PK_IDNkey PRIMARY KEY CLUSTERED (ID, NKey);
GO
I would like to read the excel sheet and generate sql script for each table based on the table's PK.
Say for example, for the configuration table the expected result looks like given below.
IF EXISTS (SELECT 1 FROM CONFIGURATION WHERE Name= 'Auditing' AND NType = 'Audit' AND Data= 'AuditDt')
BEGIN
UPDATE CONFIGURATION
SET
Datatype = 'D', DataVal = '11/26/2013', Remarks = 'Audit Date'
WHERE Name= 'Auditing' AND NType = 'Audit' AND Data= 'AuditDt'
END
ELSE
BEGIN
INSERT CONFIGURATION ([Name],[NType],[Data],[Datatype],[DataVal],[Remarks])
VALUES ('Auditing','Audit' ,'AuditDt','D','11/26/2013','Audit Date')
END
Please guide me how to achieve this? It would be great if you share the coding or existing tool?
Thanks in advance.
SampleExcel.xlsx
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks.
ASKER