Postgresql postgres#我的表格语法错误
下面的代码显示了postgres sql中#我的表seq附近的语法错误Postgresql postgres#我的表格语法错误,postgresql,Postgresql,下面的代码显示了postgres sql中#我的表seq附近的语法错误 IF (p_BusinessID = '') THEN SELECT RANK() OVER(ORDER BY SSO) SNO,Business, SSO, DisplayName, UPPER(ExServerName) ExServerName, POP, IMAP, EWS, DisplayMonth, DisplayYear FROM "POP_IMAP_EWS_Data"
IF (p_BusinessID = '')
THEN
SELECT RANK() OVER(ORDER BY SSO) SNO,Business, SSO, DisplayName, UPPER(ExServerName) ExServerName, POP, IMAP, EWS, DisplayMonth, DisplayYear
FROM "POP_IMAP_EWS_Data"
WHERE DisplayYear = COALESCE(p_YearID, DisplayYear) AND MonthID = COALESCE(p_MonthID, MonthID) AND SSO = COALESCE(p_SSO, SSO);
ELSE
CREATE SEQUENCE #myTable_seq;
CREATE TABLE #myTable
(
ID INT DEFAULT NEXTVAL ('#myTable_seq'),
Item VARCHAR(100),
);
INSERT INTO #myTable(Item)
SELECT RTRIM(LTRIM(Item)) FROM SplitString(;p_BusinessID, ',');
SELECT RANK() OVER(ORDER BY SSO) SNO, A.BusinessID, Business, SSO, DisplayName, UPPER(ExServerName) ExServerName, POP, IMAP, EWS, DisplayMonth, DisplayYear
FROM "POP_IMAP_EWS_Data"A
INNER JOIN #myTable B ON B.Item = A.BusinessID
WHERE DisplayYear = COALESCE(p_YearID, DisplayYear) AND MonthID = COALESCE(p_MonthID, MonthID) AND SSO = COALESCE(p_SSO, SSO);
有人能说出原因吗?使用#
前缀表示临时表是特定于SQL Server(可能还有Sybase)的。PostgreSQL希望您说:
此外,您通常只需将您的id
列设置为serial
列,并让PostgreSQL处理序列,而不是自己将其连接起来,因此我也对其进行了更改;使用serial
还可以设置序列的所有者。使用#
前缀表示临时表是特定于SQL Server(可能还有Sybase)的。PostgreSQL希望您说:
此外,您通常只需将您的id
列设置为serial
列,并让PostgreSQL处理序列,而不是自己将其连接起来,因此我也对其进行了更改;使用serial
还负责设置序列的所有者
create temporary table mytable (
id serial primary key,
item varchar(100)
);