SQL 2000 - DRVTBL?

发布于 2024-07-30 08:35:17 字数 163 浏览 3 评论 0原文

我正在尝试了解我需要修复的历史存储过程。 我找到了这个DRVTBL关键字,但我不知道它是什么意思??? (这是sql2000数据库)

SELECT ...
FROM (      
      ...)
) DRVTBL

I'm trying to understand a historical stored procedure I need to fix.
I found this DRVTBL key word, and I couldn’t find out what it means???
(This is a sql2000 database)

SELECT ...
FROM (      
      ...)
) DRVTBL

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

む无字情书 2024-08-06 08:35:18

从您发布的查询来看,DRVTBL 看起来像一个别名。 其工作方式类似于 T-SQL 查询中的临时表。 SQL Server 2005 有此功能的高级版本,称为公用表表达式< /a>.

示例 -

SELECT *
FROM
    (
        SELECT
            Id,
            Name
        FROM Employee
        WHERE Name LIKE 'A%'
    ) EmployeeA
WHERE EmployeeA.Name = 'Albert'

这将创建一个别名表,其中包含名称以 A 开头的所有 Employee,而外部查询将依次选择名称为 <代码>阿尔伯特。

使用 CTE 可以将其写为 -

WITH EmployeeA AS
(
    SELECT
        Id,
        Name
    FROM Employee
    WHERE Name LIKE 'A%'

)
SELECT * FROM EmployeeA WHERE EmployeeA.Name = 'Albert'

DRVTBL, from the query you have posted, looks like an alias. The work like temporary tables in your T-SQL Query. SQL Server 2005 has a little bit advanced version of this functionality, called Common Table Expressions.

An example -

SELECT *
FROM
    (
        SELECT
            Id,
            Name
        FROM Employee
        WHERE Name LIKE 'A%'
    ) EmployeeA
WHERE EmployeeA.Name = 'Albert'

This will create an aliased table containing all the Employees whose name starts with A, and the outer query will, in turn, select the employees with the name Albert.

Same can be written using CTE as -

WITH EmployeeA AS
(
    SELECT
        Id,
        Name
    FROM Employee
    WHERE Name LIKE 'A%'

)
SELECT * FROM EmployeeA WHERE EmployeeA.Name = 'Albert'
人间不值得 2024-08-06 08:35:18

你能显示完整的SQL语句吗?
据我现在所见,DRVTBL 不是关键字,而是为 FROM 子句中使用的子查询指定的别名。

Can you show the complete SQL statement ?
As far as I can see right now, DRVTBL is not a keyword, but an alias that has been given to the subquery that is used in your FROM clause.

空宴 2024-08-06 08:35:17

DRVTBL 是其前面的子查询的别名。
当您在这样的 SELECT 中使用子查询时,您必须为其指定一个别名。 如果删除 DRVTBL,则会出现错误。 然后它就不必继续在其他地方使用。

DRVTBL is an alias for the subquery that precedes it.
When you use a subquery within a SELECT like this, you have to give it an alias. If you remove DRVTBL, you will get an error. It doesn't then have to go on and be used anywhere else.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文