2
我可以通过SAS ODBC连接锁定Oracle数据库中的所有访问(包括基于Oracle的查询)表吗?通过SAS将新表导入Oracle数据库,写入时锁定表
我目前正在SAS中运行一个脚本,它通过ODBC SAS库删除并替换Oracle数据库中的表。
我的问题是有自动运行的例程(运行查询),它独立于此脚本运行,我想拒绝它们在更新时访问此特定表,以确保它们不会在不完整的数据集。
我可以通过SAS ODBC连接锁定Oracle数据库中的所有访问(包括基于Oracle的查询)表吗?通过SAS将新表导入Oracle数据库,写入时锁定表
我目前正在SAS中运行一个脚本,它通过ODBC SAS库删除并替换Oracle数据库中的表。
我的问题是有自动运行的例程(运行查询),它独立于此脚本运行,我想拒绝它们在更新时访问此特定表,以确保它们不会在不完整的数据集。
如果该表已被删除,则无法将其标记为已锁定。无论如何,即使是独占表锁也不会阻止表被读取。
一个更好的办法很可能是该表通过同义词访问,并且不是放弃它并重新创建它,这样做:
执行ddl命令'lock table my_table in exclusive mode'。这将防止表上的dml操作。记住用commit/rollback结束事务来释放锁。 – haki 2013-05-14 12:49:36