实例介绍
这是一个专门为.NET平台开发的库,使用C#语言编写,旨在解析SQL Server中的T-SQL脚本。该库提供了一系列功能,包括但不限于:完整的T-SQL令牌实现、流式标记器用于将脚本解析成令牌、处理单行和多行注释、支持Select、Insert、Update、Delete和Merge语句的解析。此外,该库兼容.Net Framework 4.0 和.Net Core 2.0 。
主要功能:
- 完整的T-SQL令牌实现
- 流式标记器,用于解析脚本成令牌
- 支持字符、注释、标识符、关键字、字面量、变量和操作符类型的令牌
- 处理单行和多行注释
- 解析Select、Insert、Update、Delete和Merge语句
- 兼容.Net Framework 4.0 和.Net Core 2.0
【实例截图】
【核心代码】
文件清单
└── tsql-parser-bce15ca353e2c26e43a51922d38922bc56ffdf8f
├── appveyor.yml
├── LICENSE
├── README.md
└── TSQL_Parser
├── SandcastleDocs
│ ├── Content
│ │ ├── VersionHistory
│ │ │ ├── v1.0.0.0.aml
│ │ │ └── VersionHistory.aml
│ │ └── Welcome.aml
│ ├── ContentLayout.content
│ ├── icons
│ │ └── Help.png
│ ├── README.md
│ └── SandcastleDocs.shfbproj
├── Tests
│ ├── CharactersTests.cs
│ ├── Clauses
│ │ ├── FromClauseTests.cs
│ │ ├── GroupByClauseTests.cs
│ │ ├── HavingClauseTests.cs
│ │ ├── IntoClauseTests.cs
│ │ ├── OrderByClauseTests.cs
│ │ ├── SelectClauseTests.cs
│ │ └── WhereClauseTests.cs
│ ├── CodeCoverage.bat
│ ├── Expressions
│ │ ├── ArgumentListTests.cs
│ │ ├── CaseExpressionTests.cs
│ │ └── OperationExpressionTests.cs
│ ├── IdentifiersTests.cs
│ ├── images
│ │ ├── coverage.jpg
│ │ └── tests.jpg
│ ├── packages.config
│ ├── Parsing.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ └── Resources.resx
│ ├── README.md
│ ├── Scripts
│ │ └── AdventureWorks2014.dbo.uspSearchCandidateResumes.sql
│ ├── Statements
│ │ ├── DeleteStatementTests.cs
│ │ ├── ExecuteStatementTests.cs
│ │ ├── GeneralStatementTests.cs
│ │ ├── InsertStatementTests.cs
│ │ ├── MergeStatementTests.cs
│ │ ├── SelectStatementTests.cs
│ │ ├── UpdateStatementTests.cs
│ │ └── WithStatementTests.cs
│ ├── TestHelpers.cs
│ ├── Tests.csproj
│ ├── Tests.snk
│ ├── Tokens
│ │ ├── BinaryTokenTests.cs
│ │ ├── CharacterTokenTests.cs
│ │ ├── IdentifierTokenTests.cs
│ │ ├── IncompleteTokenTests.cs
│ │ ├── KeywordTokenTests.cs
│ │ ├── MoneyLiteralTests.cs
│ │ ├── MultilineCommentTokenTests.cs
│ │ ├── NumericLiteralTokenTests.cs
│ │ ├── OperatorTokenTests.cs
│ │ ├── SingleLineCommentTokenTests.cs
│ │ ├── StringLiteralTokenTests.cs
│ │ ├── SystemIdentifierTokenTests.cs
│ │ ├── SystemVariableTokenTests.cs
│ │ └── TokenComparisons.cs
│ └── VariablesTests.cs
├── TSQL_Parser
│ ├── Clauses
│ │ ├── Parsers
│ │ │ ├── TSQLDeleteClauseParser.cs
│ │ │ ├── TSQLFetchClauseParser.cs
│ │ │ ├── TSQLForClauseParser.cs
│ │ │ ├── TSQLFromClauseParser.cs
│ │ │ ├── TSQLGroupByClauseParser.cs
│ │ │ ├── TSQLHavingClauseParser.cs
│ │ │ ├── TSQLInsertClauseParser.cs
│ │ │ ├── TSQLIntoClauseParser.cs
│ │ │ ├── TSQLMergeClauseParser.cs
│ │ │ ├── TSQLMergeIntoClauseParser.cs
│ │ │ ├── TSQLOffsetClauseParser.cs
│ │ │ ├── TSQLOnClauseParser.cs
│ │ │ ├── TSQLOptionClauseParser.cs
│ │ │ ├── TSQLOrderByClauseParser.cs
│ │ │ ├── TSQLOutputClauseParser.cs
│ │ │ ├── TSQLSelectClauseParser.cs
│ │ │ ├── TSQLSetClauseParser.cs
│ │ │ ├── TSQLSetOperatorClauseParser.cs
│ │ │ ├── TSQLUpdateClauseParser.cs
│ │ │ ├── TSQLUsingClauseParser.cs
│ │ │ ├── TSQLWhenClauseParser.cs
│ │ │ ├── TSQLWhereClauseParser.cs
│ │ │ └── TSQLWithClauseParser.cs
│ │ ├── TSQLClause.cs
│ │ ├── TSQLDeleteClause.cs
│ │ ├── TSQLExceptClause.cs
│ │ ├── TSQLFetchClause.cs
│ │ ├── TSQLForClause.cs
│ │ ├── TSQLFromClause.cs
│ │ ├── TSQLGroupByClause.cs
│ │ ├── TSQLHavingClause.cs
│ │ ├── TSQLInsertClause.cs
│ │ ├── TSQLIntersectClause.cs
│ │ ├── TSQLIntoClause.cs
│ │ ├── TSQLMergeClause.cs
│ │ ├── TSQLOffsetClause.cs
│ │ ├── TSQLOnClause.cs
│ │ ├── TSQLOptionClause.cs
│ │ ├── TSQLOrderByClause.cs
│ │ ├── TSQLOutputClause.cs
│ │ ├── TSQLSelectClause.cs
│ │ ├── TSQLSetClause.cs
│ │ ├── TSQLSetOperatorClause.cs
│ │ ├── TSQLSetOperatorType.cs
│ │ ├── TSQLUnionClause.cs
│ │ ├── TSQLUpdateClause.cs
│ │ ├── TSQLUsingClause.cs
│ │ ├── TSQLWhenClause.cs
│ │ ├── TSQLWhereClause.cs
│ │ └── TSQLWithClause.cs
│ ├── CodeQuality.bat
│ ├── CoverityScanBuild.bat
│ ├── Elements
│ │ ├── Parsers
│ │ │ ├── TSQLDefaultValuesParser.cs
│ │ │ ├── TSQLSelectColumnParser.cs
│ │ │ └── TSQLValuesParser.cs
│ │ ├── TSQLDefaultValues.cs
│ │ ├── TSQLElement.cs
│ │ ├── TSQLPredicate.cs
│ │ ├── TSQLSelectColumn.cs
│ │ └── TSQLValues.cs
│ ├── Expressions
│ │ ├── Parsers
│ │ │ ├── TSQLArgumentListParser.cs
│ │ │ ├── TSQLBooleanExpressionParser.cs
│ │ │ ├── TSQLCaseExpressionParser.cs
│ │ │ ├── TSQLOperationExpressionParser.cs
│ │ │ ├── TSQLSelectExpressionParser.cs
│ │ │ ├── TSQLValueAsTypeExpressionParser.cs
│ │ │ ├── TSQLValueExpressionParser.cs
│ │ │ └── TSQLVariableAssignmentExpressionParser.cs
│ │ ├── TSQLArgumentList.cs
│ │ ├── TSQLArgumentList.IEnumerable.cs
│ │ ├── TSQLCaseExpression.cs
│ │ ├── TSQLColumnExpression.cs
│ │ ├── TSQLConstantExpression.cs
│ │ ├── TSQLDuplicateSpecificationExpression.cs
│ │ ├── TSQLExpression.cs
│ │ ├── TSQLExpressionType.cs
│ │ ├── TSQLFunctionExpression.cs
│ │ ├── TSQLGroupedExpression.cs
│ │ ├── TSQLLogicalExpression.cs
│ │ ├── TSQLMulticolumnExpression.cs
│ │ ├── TSQLNullExpression.cs
│ │ ├── TSQLOperationExpression.cs
│ │ ├── TSQLSubqueryExpression.cs
│ │ ├── TSQLValueAsTypeExpression.cs
│ │ ├── TSQLVariableAssignmentExpression.cs
│ │ └── TSQLVariableExpression.cs
│ ├── IO
│ │ ├── BufferedTextReader.cs
│ │ ├── BufferedTextReader.IDisposable.cs
│ │ ├── ICharacterReader.cs
│ │ ├── TSQLCharacterReader.cs
│ │ └── TSQLCharacterReader.IDisposable.cs
│ ├── packages.config
│ ├── Pack.bat
│ ├── project.json
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Push.bat
│ ├── Statements
│ │ ├── Parsers
│ │ │ ├── ITSQLStatementParser.cs
│ │ │ ├── TSQLDeleteStatementParser.cs
│ │ │ ├── TSQLExecuteStatementParser.cs
│ │ │ ├── TSQLInsertStatementParser.cs
│ │ │ ├── TSQLLimitedSelectStatementParser.cs
│ │ │ ├── TSQLMergeStatementParser.cs
│ │ │ ├── TSQLSelectStatementParser.cs
│ │ │ ├── TSQLStatementParserFactory.cs
│ │ │ ├── TSQLUnknownStatementParser.cs
│ │ │ ├── TSQLUpdateStatementParser.cs
│ │ │ └── TSQLWithClauseStatementParser.cs
│ │ ├── TSQLDeleteStatement.cs
│ │ ├── TSQLExecuteStatement.cs
│ │ ├── TSQLInsertStatement.cs
│ │ ├── TSQLKeywordStatementExtensions.cs
│ │ ├── TSQLMergeStatement.cs
│ │ ├── TSQLSelectStatement.cs
│ │ ├── TSQLStatement.cs
│ │ ├── TSQLStatementType.cs
│ │ ├── TSQLUnknownStatement.cs
│ │ └── TSQLUpdateStatement.cs
│ ├── Tokens
│ │ ├── ITSQLTokenizer.cs
│ │ ├── Parsers
│ │ │ ├── TSQLTokenFactory.cs
│ │ │ └── TSQLTokenParserHelper.cs
│ │ ├── TSQLBinaryLiteral.cs
│ │ ├── TSQLCharacter.cs
│ │ ├── TSQLComment.cs
│ │ ├── TSQLIdentifier.cs
│ │ ├── TSQLIncompleteComment.cs
│ │ ├── TSQLIncompleteIdentifier.cs
│ │ ├── TSQLIncompleteString.cs
│ │ ├── TSQLIncompleteToken.cs
│ │ ├── TSQLKeyword.cs
│ │ ├── TSQLLiteral.cs
│ │ ├── TSQLMoneyLiteral.cs
│ │ ├── TSQLMultilineComment.cs
│ │ ├── TSQLNumericLiteral.cs
│ │ ├── TSQLOperator.cs
│ │ ├── TSQLSingleLineComment.cs
│ │ ├── TSQLStringLiteral.cs
│ │ ├── TSQLSystemColumnIdentifier.cs
│ │ ├── TSQLSystemIdentifier.cs
│ │ ├── TSQLSystemVariable.cs
│ │ ├── TSQLToken.cs
│ │ ├── TSQLTokenExtensions.cs
│ │ ├── TSQLTokenType.cs
│ │ ├── TSQLVariable.cs
│ │ └── TSQLWhitespace.cs
│ ├── TSQLCharacters.cs
│ ├── TSQLFutureKeywords.cs
│ ├── TSQLIdentifiers.cs
│ ├── TSQLKeywords.cs
│ ├── TSQL_Parser.csproj
│ ├── TSQL_Parser_NetStandard.csproj
│ ├── TSQL_Parser.nuspec
│ ├── TSQL_Parser.snk
│ ├── TSQLStatementReader.cs
│ ├── TSQLStatementReader.IDisposable.cs
│ ├── TSQLStatementReader.IEnumerable.cs
│ ├── TSQLTokenizer.cs
│ ├── TSQLTokenizer.IDisposable.cs
│ ├── TSQLTokenizer.IEnumerable.cs
│ └── TSQLVariables.cs
└── TSQL_Parser.sln
27 directories, 218 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论