因为我想删除一些表,有人建议如下,我做了:
postgres=# drop schema public cascade;
DROP SCHEMA
postgres=# create schema public;
CREATE SCHEMA
Run Code Online (Sandbox Code Playgroud)
然后我在创建新数据库时遇到问题,例如:
postgres=# create database test;
CREATE DATABASE
postgres=# \c test
You are now connected to database "test" as user "postgres".
test=# create table hi(id int primary key);
*ERROR: no schema has been selected to create in*
Run Code Online (Sandbox Code Playgroud)
你可以看到我收到了错误
错误:未选择任何架构来创建*
如何恢复公共架构?
我建议人们永远不要做"drop schema public cascade"; 如果我们不知道如何恢复.有人可以帮帮我吗?
我在mysql中创建了一个用户.现在我要删除用户?怎么做?我收到此错误:
ERROR 1396 (HY000): Operation DROP USER failed for 'user'@'localhost'
Run Code Online (Sandbox Code Playgroud)
我正在使用此命令:
DROP USER 'user'@'localhost';
Run Code Online (Sandbox Code Playgroud)
它是一台亚马逊机器.
谢谢
删除表后,发现在删除表的列上创建的索引消失了.我只是想知道之后会发生什么.有人可以解释一下吗?
什么都是其他人随着桌子掉落而掉线?
简单的问题,正如标题所示:
通过首先检查SP是否存在,删除SQL Server 2000中的存储过程(SP)的语法是什么?
请提供完整的代码.
我在尝试删除列时获得的错误消息:
对象'defEmptyString'依赖于列'fkKeywordRolleKontakt'.
Msg 5074,Level 16,State 1,Line 43
ALTER TABLE DROP COLUMN fkKeywordRolleKontakt失败,因为一个或多个对象访问此列.
我已经尝试找到默认约束,如下所述: 带有约束的SQL Server 2005 drop column
不幸的是没有任何成功:(返回的行是:
fkKeywordRolleKontakt 2 814625945 0 defEmptyString
Run Code Online (Sandbox Code Playgroud)
我无法删除fkKeywordRolleKontakt和defEmptyString.
摆脱这种依赖的正确方法是什么?
编辑:也许这也很重要.列fkKeywordRolleKontakt的类型为udKeyword(nvarchar(50)),默认值为dbo.defEmptyString.
编辑2:解决了
我现在可以解决问题了.对不起,我没有复制完整的错误信息,这是:
Msg 5074, Level 16, State 1, Line 1
The object 'defEmptyString' is dependent on column 'fkKeywordRolleKontakt'.
Msg 5074, Level 16, State 1, Line 1
The object 'FK_tlkpRolleKontakt_tlkpKeyword' is dependent on column 'fkKeywordRolleKontakt'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE DROP COLUMN fkKeywordRolleKontakt …
在oracle中,要删除所有表和约束,您可以键入类似的内容
DROP TABLE myTable CASCADE CONSTRAINTS PURGE;
Run Code Online (Sandbox Code Playgroud)
这将完全删除表及其依赖项.什么是SQL服务器等价?
我是PostgreSQL的新手,我试着理解它.我熟悉db和MySQL.
我试图删除我创建的数据库,因为psql似乎忽略了我尝试通过Django推送的更改.
当我执行时,\l我得到以下响应:
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
------------------+--------+----------+-------------+-------------+-------------------
postgres | neurix | UTF8 | en_AU.UTF-8 | en_AU.UTF-8 |
test_db | neurix | UTF8 | en_AU.UTF-8 | en_AU.UTF-8 |
template0 | neurix | UTF8 | en_AU.UTF-8 | en_AU.UTF-8 | =c/neurix +
| | | | | neurix=CTc/neurix
template1 | neurix | UTF8 | en_AU.UTF-8 | en_AU.UTF-8 | =c/neurix +
| | | | | neurix=CTc/neurix
template_postgis | neurix …Run Code Online (Sandbox Code Playgroud) DROP TABLE (
SELECT table_name
FROM information_schema.`TABLES`
WHERE table_schema = 'myDatabase' AND table_name LIKE BINARY 'del%');
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用!SQL中这样的东西有什么用呢?我可以用一个简单的Python脚本来做这个,但只是想知道我们是否可以直接用SQL做一些事情.我正在使用MySQL.谢谢!
我试图删除一个角色'xyz',该角色以前是具有相同名称'xyz'的架构的所有者.我更改了架构所有权,如下所示,并运行重新分配的所有权以防万一(尽管所有表都是由具有超级用户权限的其他用户创建的).所以我运行所有这些:
alter schema xyz owner to postgres;
reassign owned by xyz to postgres;
alter default privileges in schema seeds revoke all on tables from xyz cascade;
alter default privileges in schema seeds revoke all on sequences from xyz cascade;
alter default privileges in schema seeds revoke all on functions from xyz cascade;
Run Code Online (Sandbox Code Playgroud)
仍然得到错误:
drop role xyz;
ERROR: role "xyz" cannot be dropped because some objects depend on it
DETAIL: owner of default privileges on new relations belonging to role xyz …Run Code Online (Sandbox Code Playgroud) 只是为了澄清,这不是一个真正的问题,对于像我这样寻找答案的人来说更有帮助.
很多应用程序都会创建临时表等,但是当Team Foundation Server在我的测试SQL Server上创建了80多个数据库时,我感到很惊讶.TFS没有正确安装,请让我在它之后清理.由于每个数据库都有一个命名约定,而不是手动删除每个数据库,我记得如何使用游标并编写了我认为有史以来最不明智的T-SQL:
CREATE TABLE #databaseNames (name varchar(100) NOT NULL, db_size varchar(50), owner varchar(50), dbid int, created date, status text, compatibility_level int);
INSERT #databaseNames
exec sp_helpdb;
DECLARE dropCur CURSOR FOR
SELECT name FROM #databaseNames WHERE name like '_database_name_%';
OPEN dropCur;
DECLARE @dbName nvarchar(100);
FETCH NEXT FROM dropCur INTO @dbName;
DECLARE @statement nvarchar(200);
WHILE @@FETCH_STATUS = 0
BEGIN
SET @statement = 'DROP DATABASE ' + @dbName;
EXEC sp_executesql @statement;
FETCH NEXT FROM dropCur INTO @dbName;
END
CLOSE dropCur;
DEALLOCATE …Run Code Online (Sandbox Code Playgroud) sql-drop ×10
postgresql ×3
sql ×3
database ×2
mysql ×2
sql-server ×2
cascade ×1
create-table ×1
dependencies ×1
indexing ×1
t-sql ×1