插入A db时语法不正确
我正在使用EXCELmacros/ vba将xls表格中的数据插入到SQL数据库中。
任何人都可以解释为什么我得到这个错误消息…
不正确的语法近“开放”
我运行的代码是一个插入语句
Dim insert As String insert = "INSERT INTO dbo.HEADER (plant, taskno, tskstatus, category, opened, openedby, title) VALUES ( 'UK', (select Max(taskno) AS count from HEADER)+ 1), 'open', 'RFSA', CONVERT(datetime,'" & strdate & "',103), '" & UserId & "', '" & strtitle & "')"
该代码将以下内容插入到SQL数据库中。
“OPEN”只是一个值,我试图插入到一个列..
你想使用insert . . . select
insert . . . select
insert . . . select
语法:
INSERT INTO dbo.HEADER(plant, taskno, tskstatus, category, opened, openedby, title) SELECT 'UK', Max(taskno) + 1, 'open', 'RFSA', CONVERT(datetime,'" & strdate & "',103), '" & UserId & "', '" & strtitle & "' from Header;
但是,因为您正在使用SQL Server,所以您希望taskno
成为identity
列。 这将自动增加每个插入。
你的括号不匹配。
insert = "INSERT INTO dbo.HEADER (plant, taskno, tskstatus, category, opened, openedby, title) VALUES ( 'UK', (select Max(taskno) AS count from HEADER)+ 1, 'open', 'RFSA', CONVERT(datetime,'" & strdate & "',103), '" & UserId & "', '" & strtitle & "')"