是否可以在.NET 中将sql 语句传递给SQL Server 进行解析并返回语句中涉及的表和操作类型。所以对于这样的声明:
select * from Table1
left outer join Table2 on Table1.id=Table2.foreignid;
delete from Table2 where date < 2009/12/12
SQL Server 可能会像这样返回涉及的表:
Table1 Read
Table2 Read
Table2 Delete
所以该语句没有被执行,它只是返回所涉及的表。
我问的原因是我正在处理的应用程序具有应用程序级别的表权限,我想逐个表地应用这些权限。当前解析语句中涉及的表的方法使用正则表达式,并且在除了简单语句之外的任何其他方法中都失败了。显然你不能真正使用正则表达式来完成这种工作