我目前正在使用;WITH TableA_PK AS (
SELECT [EpiNum], [Name], [Acct],
ROW_NUMBER() OVER (ORDER BY [EpiNum]) AS id
FROM TableA
), StripSpecialChars AS (
SELECT id, 0 AS lvl,
[EpiNum] = REPLACE([EpiNum], SUBSTRING([EpiNum], x.i, 1), ''),
[Name] = REPLACE([Name], SUBSTRING([Name], y.i, 1), ''),
[Acct] = REPLACE([Acct], SUBSTRING([Acct], z.i, 1), '')
FROM TableA_PK
CROSS APPLY (SELECT PATINDEX('%[^a-zA-Z0-9 ]%', [EpiNum])) AS x(i)
CROSS APPLY (SELECT PATINDEX('%[^a-zA-Z0-9 ]%', [Name])) AS y(i)
CROSS APPLY (SELECT PATINDEX('%[^a-zA-Z0-9 ]%', [Acct])) AS z(i)
WHERE x.i <> 0 OR y.i <> 0 OR z.i <> 0
UNION ALL
SELECT id, lvl = lvl + 1,
[EpiNum] = REPLACE([EpiNum], SUBSTRING([EpiNum], x.i, 1), ''),
[Name] = REPLACE([Name], SUBSTRING([Name], y.i, 1), ''),
[Acct] = REPLACE([Acct], SUBSTRING([Acct], z.i, 1), '')
FROM StripSpecialChars
CROSS APPLY (SELECT PATINDEX('%[^a-zA-Z0-9 ]%', [EpiNum])) AS x(i)
CROSS APPLY (SELECT PATINDEX('%[^a-zA-Z0-9 ]%', [Name])) AS y(i)
CROSS APPLY (SELECT PATINDEX('%[^a-zA-Z0-9 ]%', [Acct])) AS z(i)
WHERE x.i <> 0 OR y.i <> 0 OR z.i <> 0
)
UPDATE t1
SET t1.[EpiNum] = t2.[EpiNum],
t1.[Name] = t2.[Name],
t1.[Acct] = t2.[Acct]
FROM TableA_PK AS t1
INNER JOIN (SELECT id, [EpiNum], [Name], [Acct],
ROW_NUMBER() OVER (PARTITION BY id
ORDER BY lvl DESC) AS rn
FROM StripSpecialChars) AS t2
ON t1.id = t2.id AND t2.rn = 1
,我知道它所提供的所有功能,例如。
它与应用程序服务器有什么不同?
由于主题很大,我正在寻找至少应用程序服务器提供的功能,这些功能在JBoss Fuse中不可用,反之亦然。
答案 0 :(得分:2)
Fuse主要用于实施Integrations。所以它是一种专门的应用服务器。它不是JEE应用程序服务器
由于Fuse基于Apache Karaf(OSGi服务器),您可以使用它提供的所有功能,例如JPA和事务支持。因此,您可以使用它类似于JEE应用程序服务器。编程模型虽然有点不同。