sql - 用于从 SQL CREATE TABLE 语句中提取表信息的正则表达式
问题描述
考虑以下查询:
CREATE TABLE "albums" ( [AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Title] NVARCHAR(160) NOT NULL )
我试图提取表名之后的所有内容(在这种情况下为专辑),即语句:
( [AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, [Title] NVARCHAR(160) NOT NULL )
我想这样做是因为我想准确地复制表在创建时的编写方式。问题是表名可以像这样在其名称中包含括号/特殊字符(还要注意表名后没有空格):
CREATE TABLE "al(b+?u(ms"( [AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Title] NVARCHAR(160) NOT NULL )
它们也可以没有双引号,但它们不会有任何特殊字符,例如:
CREATE TABLE albums ( [AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Title] NVARCHAR(160) NOT NULL )
在这些情况下,如何使用正则表达式提取表名后括号后的表信息?
解决方案
推荐阅读
- javascript - 重新加载 Commerce.js 结帐页面时出错(反应教程)
- python - Sprite 不想在 Pygame 中移动
- c# - 如何在 MOQ 中为 C# 中的 SendEmail 方法参数编写 UnitTest
- f# - 如何在 F# 的同一行上获取 Json 元素的字符串值
- r - R合并两个不同长度的数据帧,重复较短的行,直到第一个值发生变化
- google-chrome - Chrome 和网络串行 API。如何在不询问的情况下获得端口
- peewee - 具有多个连接和多个计数的 Peewee 选择查询
- powershell - 我们可以在部署时阻止 Azure LogicApp 触发器触发吗
- azure - Azure DevOps 团队日历缺少一天休假的用户
- javascript - 拼接方法不正确