更新 SQL 服务器中视图内的数据
Update data inside a view in SQL server
我有一些数据如下所示
如上所示,req_uri 列的数据在第二个斜杠后包含 id。我只对uri的主干感兴趣,也就是第二个uri之前的部分。
如何创建一个视图,其中 req_uri 是 update
d 以仅包含 '/v1/org'
或 '/v1/registration'
中的值
event_id req_uri
0007845f-cf6c-4513-9a5f-96d02482ef78 /v1/org/6970b2a5-e220-4d68-8fc0-2992a1b8bdb7
000a1fb0-ac4d-489e-866a-7c07caebb959 /v1/registration
000fe2a9-6d76-4045-93ac-9df68971539c /v1/org/6970b2a5-e220-4d68-8fc0-2992a1b8bdb7
0017e50b-c7b5-4e42-b670-f2d9f0af752f /v1/org/e536c1ed-4822-4b88-8c01-9f14c1c583e3/apps
0025a81f-cf81-4c60-8a39-3a626c1092a3 /v1/org/6970b2a5-e220-4d68-8fc0-2992a1b8bdb7
00304cef-87f3-426b-984c-b0b906b4815a /v1/org/e536c1ed-4822-4b88-8c01-9f14c1c583e3/apps
我知道如何创建视图,如下
CREATE VIEW V_MyView
AS SELECT event_id, req_uri
FROM tableName;
我也知道如何trim如下
update req_uri set req_uri = '/v1/org' where req_uri like '/v1/org%'
但是,我如何将其合并到一个视图中,使其包含 trimmed 数据?
不确定我是否 100% 关注您的问题,但我认为您是在问如何创建一个视图,该视图对 req_uri
进行了更改的硬编码操作,所以您想要这样的东西:
CREATE VIEW V_MyView
AS
SELECT event_id,
CASE WHEN req_uri LIKE '/v1/org%' THEN '/v1/org'
WHEN req_uri LIKE '/v1/registration%' THEN '/v1/registration'
ELSE NULL END as [req_uri]
FROM tableName;
我有一些数据如下所示
如上所示,req_uri 列的数据在第二个斜杠后包含 id。我只对uri的主干感兴趣,也就是第二个uri之前的部分。
如何创建一个视图,其中 req_uri 是 update
d 以仅包含 '/v1/org'
或 '/v1/registration'
event_id req_uri
0007845f-cf6c-4513-9a5f-96d02482ef78 /v1/org/6970b2a5-e220-4d68-8fc0-2992a1b8bdb7
000a1fb0-ac4d-489e-866a-7c07caebb959 /v1/registration
000fe2a9-6d76-4045-93ac-9df68971539c /v1/org/6970b2a5-e220-4d68-8fc0-2992a1b8bdb7
0017e50b-c7b5-4e42-b670-f2d9f0af752f /v1/org/e536c1ed-4822-4b88-8c01-9f14c1c583e3/apps
0025a81f-cf81-4c60-8a39-3a626c1092a3 /v1/org/6970b2a5-e220-4d68-8fc0-2992a1b8bdb7
00304cef-87f3-426b-984c-b0b906b4815a /v1/org/e536c1ed-4822-4b88-8c01-9f14c1c583e3/apps
我知道如何创建视图,如下
CREATE VIEW V_MyView
AS SELECT event_id, req_uri
FROM tableName;
我也知道如何trim如下
update req_uri set req_uri = '/v1/org' where req_uri like '/v1/org%'
但是,我如何将其合并到一个视图中,使其包含 trimmed 数据?
不确定我是否 100% 关注您的问题,但我认为您是在问如何创建一个视图,该视图对 req_uri
进行了更改的硬编码操作,所以您想要这样的东西:
CREATE VIEW V_MyView
AS
SELECT event_id,
CASE WHEN req_uri LIKE '/v1/org%' THEN '/v1/org'
WHEN req_uri LIKE '/v1/registration%' THEN '/v1/registration'
ELSE NULL END as [req_uri]
FROM tableName;