我正在编写一个脚本,允许我输入一个文件(通常是.sql),它会生成一个在该文件中使用的每个表的列表。这个过程很简单,因为它打开输入文件,检查子字符串,如果存在子字符串,则将该行输出到屏幕。
正在检查的子字符串是指示所选表格的tsql关键字,例如INTO
,FROM
和JOIN
。不是T-SQL向导,这三个关键字是我所知道的唯一用于在查询中选择表的关键字。
所以我的问题是,在T-SQL中INTO
,FROM
和JOIN
获取表格的唯一方法是?或者是其他人?
答案 0 :(得分:1)
有很多方法可以获得一张桌子,其中一些是:
DELETE
FROM
INTO
JOIN
MERGE
OBJECT_ID (N'dbo.mytable', N'U')
其中U
是表格的对象类型。TABLE
,例如ALTER TABLE
,TRUNCATE TABLE
,DROP TABLE
UPDATE
但是,通过使用您的脚本,您不仅可以获得真正的表,还可以使用VIEW和临时表。这是两个例子:
-- Example 1
SELECT *
FROM dbo.myview
-- Example 2
WITH tmptable AS
(
SELECT *
FROM mytable
)
SELECT *
FROM tmptable