标签: sql-drop

临时表的DROP TABLE失败

我有一个创建临时表的客户端应用程序,在临时表中执行批量插入,然后在删除之前使用该表执行一些SQL.

伪代码:

open connection
begin transaction
CREATE TABLE #Temp ([Id] int NOT NULL)
bulk insert 500 rows into #Temp
UPDATE [OtherTable] SET [Status]=0 WHERE [Id] IN (SELECT [Id] FROM #Temp) AND [Group]=1
DELETE FROM #Temp WHERE [Id] IN (SELECT [Id] FROM [OtherTable] WHERE [Group]=1)
INSERT INTO [OtherTable] ([Group], [Id]) SELECT 1 as [Group], [DocIden] FROM #Temp

DROP TABLE #Temp
COMMIT TRANSACTION
CLOSE CONNECTION
Run Code Online (Sandbox Code Playgroud)

这在DROP语句上出错时失败:

无法删除表'#Temp',因为它不存在或您没有权限.

我无法想象如果没有其他事情首先发生这种失败是如何发生的,但在此之前我没有看到任何其他失败.

我有什么遗失可能会导致这种情况发生吗?

sql-server temp-tables sql-drop

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

mysql drop table如果过程中存在

我正在尝试将嵌套的集模型示例应用于过程。我已经发现许多使用此技术的人,在此过程中我发现了一个问题。每次我调用程序时,都会得到提示unknown table XXX。创建过程时,我一点都没有问题。快速示例:

CREATE PROCEDURE `sp_getRoleTree` (IN root INT)
  READS SQL DATA
BEGIN
    DECLARE rows SMALLINT DEFAULT 0;
    DROP TABLE IF EXISTS ROLE_TREE;
    CREATE TABLE ROLE_TREE (
        nodeID INT PRIMARY KEY
    ) ENGINE=HEAP;

    INSERT INTO ROLE_TREE VALUES (root);

    SELECT * FROM ROLE_TREE;
    DROP TABLE ROLE_TREE;
END;
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,我在这里做错了吗(它是示例代码),如果代码还可以,我是否可以禁用if是否存在警告?在引起此类警告的过程中是否存在特殊的循环?

mysql procedure sql-drop

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

如何删除具有未命名的默认值约束和未知索引的列

什么是确定列及其名称是否存在默认约束的方法,以及任何索引的名称,以便在删除列之前删除它们?

sql-server indexing constraints sql-drop

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

MySql - DROP表'无论'是否存在'如果存在ELSE创建表'什么'?

我只是想删除表'what'如果它存在,然后在可能的情况下在单个查询中重新创建表'what'.

DROP TABLE IF EXISTS `whatever` ELSE
    CREATE TABLE `whatever`
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?

mysql create-table sql-drop

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

如何在发布和订阅中删除复制的表

如何在发布以及订阅中删除复制的表?(仅脚本)

我不想仅将其从复制中删除,因为这样,表的未复制副本将保留在订阅中。我希望删除表的所有实例。

所以我想要一个脚本,用于从发布者中删除表,并从发布中删除表,并且还将表删除到发布者和所有订阅者中。理想情况下,它将采用表名称的参数。

t-sql replication sql-drop

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

Mysql"drop function if if exists"失败,代码为1305

当我尝试执行代码时,我得到mysql错误1305:

DROP FUNCTION IF EXISTS myFunction;
Run Code Online (Sandbox Code Playgroud)

它只在函数不存在时失败.但为什么?在重新创建函数之前,这不是清理步骤吗?

mysql sql-drop

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

删除索引查询很慢

这是我试图执行的查询:

DROP INDEX id_index on table;

过去我已经能够快速删除索引,但是在我放弃之前,这个查询运行了将近一个小时。什么可能导致这种缓慢的速度?

mysql indexing performance sql-drop

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

SQL Server数据库中的孤立约束

运行以下查询会导致客户端数据库中的所有约束.然而,在结果集几行似乎并不具有父,即parent_object_id = 0OBJECT_NAME(parent_object_id)回报NULL.

SELECT name, type_desc, OBJECT_NAME(parent_object_id), parent_object_id
FROM sys.objects
WHERE is_ms_shipped = 0
AND type_desc LIKE '%_CONSTRAINT'
Run Code Online (Sandbox Code Playgroud)

这是否意味着数据库中存在孤立约束?如果是这样,我该如何删除它们?

根据他们的名字,我可以看到他们是在结构发生大量变化之前的残羹剩饭.

sql-server default-constraint sql-drop

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

SQL.更改需要重新创建表

有一个表满,包含数据.是否可以将字段从[not null]更改为[null]而不删除并重新创建它?SQL写道必须删除并重新创建表.:)

sql-server sql-drop

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

DROP所有视图PostgreSQL

如何使用查询从PostgreSQL中删除所有用户定义的视图?就像我们可以使用查询删除所有函数:

SELECT 'DROP FUNCTION ' || ns.nspname || '.' || proname 
       || '(' || oidvectortypes(proargtypes) || ');'
FROM pg_proc INNER JOIN pg_namespace ns ON (pg_proc.pronamespace = ns.oid)
WHERE ns.nspname = 'my_messed_up_schema'  order by proname;
Run Code Online (Sandbox Code Playgroud)

postgresql view dynamic-sql sql-drop

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