我刚刚开始(过渡到)SQL Server,不幸的是,该公司有开发人员已经做了所有表脚本等粗略一瞥,我发现有几个表列名也是SQL保留字。在DB2 for IBM i中,我只能查询系统目录中的保留字&我想知道是否有人将脚本(或存储过程)用于SQL Server(目前版本为2012),我的目标是清理它并且使用正确的列名称重建表格,并且脚本比查看每个表格列表的速度快几个数量级。找到用作列名的sql保留字
1
A
回答
0
这里是保留字https://msdn.microsoft.com/en-us/library/ms189822.aspx
你可以复制这些到文本编辑器或东西,然后清理干净,一点点的列表。然后把它们扔进一张桌子,然后用这张桌子作为参考。
1
剥离和从常规
验证对于SQL Server的保留字
Declare @Reserved table (Word varchar(100))
Insert Into @Reserved values
('ADD'),('ALL'),('ALTER'),('AND'),('ANY'),('AS'),('ASC'),('AUTHORIZATION'),('BACKUP'),('BEGIN'),('BETWEEN'),('BREAK'),('BROWSE'),('BULK'),('BY'),
('CASCADE'),('CASE'),('CHECK'),('CHECKPOINT'),('CLOSE'),('CLUSTERED'),('COALESCE'),('COLLATE'),('COLUMN'),('COMMIT'),('COMPUTE'),('CONSTRAINT'),
('CONTAINS'),('CONTAINSTABLE'),('CONTINUE'),('CONVERT'),('CREATE'),('CROSS'),('CURRENT'),('CURRENT_DATE'),('CURRENT_TIME'),('CURRENT_TIMESTAMP'),
('CURRENT_USER'),('CURSOR'),('DATABASE'),('DBCC'),('DEALLOCATE'),('DECLARE'),('DEFAULT'),('DELETE'),('DENY'),('DESC'),('DISK'),('DISTINCT'),
('DISTRIBUTED'),('DOUBLE'),('DROP'),('DUMP'),('ELSE'),('END'),('ERRLVL'),('ESCAPE'),('EXCEPT'),('EXEC'),('EXECUTE'),('EXISTS'),('EXIT'),('EXTERNAL'),
('FETCH'),('FILE'),('FILLFACTOR'),('FOR'),('FOREIGN'),('FREETEXT'),('FREETEXTTABLE'),('FROM'),('FULL'),('FUNCTION'),('GOTO'),('GRANT'),('GROUP'),
('HAVING'),('HOLDLOCK'),('IDENTITY'),('IDENTITY_INSERT'),('IDENTITYCOL'),('IF'),('IN'),('INDEX'),('INNER'),('INSERT'),('INTERSECT'),('INTO'),('IS'),
('JOIN'),('KEY'),('KILL'),('LEFT'),('LIKE'),('LINENO'),('LOAD'),('MERGE'),('NATIONAL'),('NOCHECK'),('NONCLUSTERED'),('NOT'),('NULL'),('NULLIF'),
('OF'),('OFF'),('OFFSETS'),('ON'),('OPEN'),('OPENDATASOURCE'),('OPENQUERY'),('OPENROWSET'),('OPENXML'),('OPTION'),('OR'),('ORDER'),('OUTER'),('OVER'),
('PERCENT'),('PIVOT'),('PLAN'),('PRECISION'),('PRIMARY'),('PRINT'),('PROC'),('PROCEDURE'),('PUBLIC'),('RAISERROR'),('READ'),('READTEXT'),('RECONFIGURE'),
('REFERENCES'),('REPLICATION'),('RESTORE'),('RESTRICT'),('RETURN'),('REVERT'),('REVOKE'),('RIGHT'),('ROLLBACK'),('ROWCOUNT'),('ROWGUIDCOL'),('RULE'),
('SAVE'),('SCHEMA'),('SECURITYAUDIT'),('SELECT'),('SEMANTICKEYPHRASETABLE'),('SEMANTICSIMILARITYDETAILSTABLE'),('SEMANTICSIMILARITYTABLE'),('SESSION_USER'),
('SET'),('SETUSER'),('SHUTDOWN'),('SOME'),('STATISTICS'),('SYSTEM_USER'),('TABLE'),('TABLESAMPLE'),('TEXTSIZE'),('THEN'),('TO'),('TOP'),('TRAN'),('TRANSACTION'),
('TRIGGER'),('TRUNCATE'),('TRY_CONVERT'),('TSEQUAL'),('UNION'),('UNIQUE'),('UNPIVOT'),('UPDATE'),('UPDATETEXT'),('USE'),('USER'),('VALUES'),('VARYING'),
('VIEW'),('WAITFOR'),('WHEN'),('WHERE'),('WHILE'),('WITH'),('WITHIN GROUP'),('WRITETEXT')
Select A.*
From INFORMATION_SCHEMA.COLUMNS A
Join @Reserved
on Column_Name = Word
+0
@TommyWHolden乐于助人 –
相关问题
- 1. SQL:使用保留字作为名字
- 2. 用户名保留字的好列表
- 3. 使用保留字名创建列
- 4. 在列名称中使用保留字
- 5. 使用SQL Server 2008/2000作为列名保留关键字的区别
- 6. 如何转义在HIVE上用作列名的保留字?
- 7. 在Oracle 10g中用作列名的保留字“CLUSTER”
- 8. 保留列名,当您转换()在SQL
- 9. 重命名为保留字的列
- 10. R data.table列名称的保留字?
- 11. MySQL保留列名
- 12. kdb/q,保留字为列名
- 13. SQL和MySQL的保留字
- 14. 错误与MySQL的请求,并保留字作为列名
- 15. 列名中的保留字 - 插入到MySQL
- 16. Grails的动态查找表字段名称包含保留字
- 17. 未列出的保留字?
- 18. '别名'是保留字吗?
- 19. 访问VBA保留字“名”
- 20. 使用保留字TimeStamp作为字段名称(Firebird 2.5)
- 21. 作为名称空间和类名的PHP保留字
- 22. 用作列名的保留字NUMBER导致光标声明错误
- 23. 使用保留名称作为变量
- 24. R - 只保留列名与字符串匹配的列
- 25. Laravel - 使用保留字命名模型
- 26. PHP:在字段中保留用户名
- 27. Grails域名 - 保留关键字名称
- 28. 删除列时保留列名
- 29. concat列包括保留字
- 30. Android中保留字列表
谷歌修改: “SQL Server的保留字”。 –