标签: sql-drop

ORACLE:删除对象时是否删除了授权?

我目前有两个模式,A和B.

B有一个表,A执行选择插入和更新.

在我们的sql脚本中,我们已授予A权限,以便它可以完成其任务.

grant select on B.thetable to A
etc,etc
Run Code Online (Sandbox Code Playgroud)

现在,表'thetable'被删除,另一个表每天至少重命名为B.

rename someothertable to thetable
Run Code Online (Sandbox Code Playgroud)

执行此操作后,当A执行B.thetable上的选择时,我们会收到错误.

ORA-00942: table or view does not exist
Run Code Online (Sandbox Code Playgroud)

是否有可能在执行drop + rename操作后,授权也会丢失?

我们是否必须再次分配权限?

更新

有些人没有补助金.

UPDATE2

将数据插入'thetable'的每日进程每N次插入执行一次提交,因此无法执行任何回滚.这就是我们使用2张桌子的原因.

提前致谢

oracle rename grant ora-00942 sql-drop

3
推荐指数
1
解决办法
1万
查看次数

Oracle Security - 如何防止用户DROP TABLE自己的表

作为安全紧缩练习,我将从oracle数据库用户中删除所有系统权限.现在,该用户仅具有以下系统权限:

  • 创建会话
  • 无限的表格

我希望用户不能做任何DDL命令.但令我惊讶的是,用户可以在自己的架构中使用DROP TABLE,即使它无法创建一个.

Oracle 文档说DROP TABLE的先决条件是"表必须在您自己的模式中,或者您必须具有DROP ANY TABLE系统特权".只是!!!我不了解Oracle的安全逻辑,但是有什么方法可以阻止用户放弃他们自己的表吗?

另一种方法是创建另一个用户来运行应用程序并授予对象访问权限,由于存在潜在问题,我宁愿避免这种情况.

security oracle sql-drop

3
推荐指数
1
解决办法
4938
查看次数

如何删除db2中的所有表

我想使用foregin键删除db2数据库中的所有表,而无需删除并重新创建。

sql db2 sql-drop

2
推荐指数
1
解决办法
1万
查看次数

如果存在外键,请将其删除

我有一个表与另一个表有外键关系.

我想检查如果存在这种关系,请删除它.

如何编写此查询.

谢谢.

sql foreign-keys exists sql-drop

2
推荐指数
1
解决办法
8236
查看次数

MySQL删除表

我想放一张桌子 drop table EMPLOYEE;

但我得到错误: #1217 - Cannot delete or update a parent row: a foreign key constraint fails

我在互联网上环顾四周,以显示隐藏的限制,并发现:

CREATE TABLE `EMPLOYEE` (
`Ssn` int(9) NOT NULL,
`Dno` int(11) NOT NULL,
UNIQUE KEY`Ssn_8` (`Ssn`),
UNIQUE KEY`Dno_13` (`Dno`),
CONSTRAINT `EMPLOYEE_ibfk_1` FOREIGN KEY(`Dno`) REFERENCES `DEPARTMENT` (`Dnumber`),
CONSTRAINT `EMPLOYEE_ibfk_2` FOREIGN KEY(`Dno`) REFERENCES `DEPARTMENT` (`Dnumber`),
CONSTRAINT `EMPLOYEE_ibfk_3` FOREIGN KEY(`Dno`) REFERENCES `EMPLOYEE` (`Dno`),
CONSTRAINT `EMPLOYEE_ibfk_4` FOREIGN KEY(`Dno`) REFERENCES `EMPLOYEE` (`Dno`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1




   CREATE TABLE `DEPARTMENT` (
`Dnumber` int(11) NOT NULL,
`Mgr_ssn` int(9) …
Run Code Online (Sandbox Code Playgroud)

mysql foreign-keys sql-drop

2
推荐指数
1
解决办法
2万
查看次数

SQLPlus试图两次删除包

在SQLPlus中执行脚本时我遇到了一个问题:

script.sql包含以下行

@some_pkg.pks
@some_pkg.pkb

drop package some_pkg;
/
Run Code Online (Sandbox Code Playgroud)

打电话后

> sqlplus用户/密码@dbname @ script.sql

控制台中包含以下消息:

Package created.
Package body created.
Package dropped.

drop package some_pkg;
*
ERROR at line 1:
ORA-04043: object SOME_PKG does not exist
Run Code Online (Sandbox Code Playgroud)

请解释一下这里发生了什么.看起来包被丢弃了两次.有可能避免错误吗?

sql oracle sqlplus sql-drop

2
推荐指数
1
解决办法
1451
查看次数

无法删除 PostgreSQL 中的触发器获取错误

我在学习Python之后正在学习PostgreSQL。我关注tutorialspoint.com 网站。

没有问题,直到我创建一个触发器并且它像一个魅力一样工作。

但是当我尝试删除(即删除)触发器时,出现以下错误。

DROP TRIGGER example_trigger;
ERROR:  syntax error at or near ";"
LINE 1: DROP TRIGGER example_trigger;
                                    ^
Run Code Online (Sandbox Code Playgroud)

我不确定为什么会收到此错误。请帮帮我。这是常见的还是我错了?

database postgresql syntax-error sql-drop postgresql-triggers

2
推荐指数
1
解决办法
2315
查看次数

1
推荐指数
1
解决办法
2786
查看次数

TSQL只需要返回一个月的最后一天,如何删除年,月和时间?

我正在T-SQL中编写一个函数,无论日期输入如何,都会返回该月的最后一天.

这是我的代码:

Alter Function dbo.FN_Get_Last_Day_in_Month2
(@FN_InputDt    Datetime)
Returns smalldatetime
as 
Begin

Declare @Result  smalldatetime
Set    @Result =

       case when @FN_InputDt <> 01-01-1900 then 
       DATEADD(m, DATEDIFF(M, 0,@FN_InputDt)+1, -1)
       Else 0 End

Return @Result

End 
Run Code Online (Sandbox Code Playgroud)

代码无法正常工作,这是一个显示不良行为的测试:

SELECT dbo.fn_get_last_day_in_month (07-05-2010)
Run Code Online (Sandbox Code Playgroud)

这是(不正确的)结果:

2010-07-31 00:00:00
Run Code Online (Sandbox Code Playgroud)

t-sql datetime date sql-drop

1
推荐指数
1
解决办法
2614
查看次数

临时表与创建和删除表

我正在创建一个表"InterviewTemp",在那里插入数据,用该数据更新第二个表,然后删除"InterviewTemp"表.

有一个例子:

CREATE TABLE [entrevistasTemp](
    [id_usuario] [int] NULL,
    [id_entrevista] [int] NULL,
    [comentarios] [varchar](300) NULL
)

INSERT [entrevistasTemp] ([id_usuario], [id_entrevista], [comentarios]) VALUES (12099, 4515, CONVERT(TEXT, N'Riesgo muy alto.  Marun Victoria, '))
INSERT [entrevistasTemp] ([id_usuario], [id_entrevista], [comentarios]) VALUES (15347, 4516, CONVERT(TEXT, N'Riesgo muy alto.  Marun Victoria, '))

UPDATE entrevistas 
    set entrevistas.comentarios = entrevistasTemp.comentarios 
    from entrevistasTemp
WHERE entrevistas.id = entrevistasTemp.id_entrevista

drop table entrevistasTemp
Run Code Online (Sandbox Code Playgroud)

还有更好的方法吗?

编辑:只插入4.5k行

sql-server create-table sql-drop

1
推荐指数
1
解决办法
3745
查看次数