我有一张包含现有数据的表格.有没有办法添加主键而不删除并重新创建表?
我们本周在我的公司一直在讨论如何编写SQL脚本.
背景:我们的数据库是Oracle 10g(很快升级到11).我们的DBA团队使用SQLPlus将脚本部署到生产环境.
现在,我们最近部署失败,因为它使用了分号和正斜杠(/).分号在每个语句的末尾,斜杠在语句之间.
alter table foo.bar drop constraint bar1;
/
alter table foo.can drop constraint can1;
/
Run Code Online (Sandbox Code Playgroud)
稍后在脚本中添加了一些触发器,创建了一些视图以及一些存储过程.同时具有;与/导致每个语句运行两次导致错误(尤其是在插入,是唯一的,其需要).
在SQL Developer中,这不会发生,在TOAD中这不会发生.如果你运行某些命令,如果没有它们,它们将无法工作/.
在PL/SQL中,如果你有子程序(DECLARE,BEGIN,END),使用的分号将被视为子程序的一部分,因此你必须使用斜杠.
所以我的问题是:如果您的数据库是Oracle,那么编写SQL脚本的正确方法是什么?既然你知道你的数据库是Oracle应该总是使用/?
我有SQL Server数据库,我想更改标识列,因为它从一个大数字开始,10010它与另一个表相关,现在我有200条记录,我想在记录增加之前解决这个问题.
更改或重置此列的最佳方法是什么?
我有一个批处理文件,一个接一个地执行三个Maven命令.每个命令都可以在脚本中成功执行 - 本身!但是当我将所有三个命令添加到同一个文件时,只有第一个命令在脚本退出之前执行.知道为什么吗?
mvn install:install-file -DgroupId=gdata -DartifactId=base -Dversion=1.0 -Dfile=gdata-base-1.0.jar -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -DgroupId=gdata -DartifactId=blogger -Dversion=2.0 -Dfile=gdata-blogger-2.0.jar -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -DgroupId=gdata -DartifactId=blogger-meta -Dversion=2.0 -Dfile=gdata-blogger-meta-2.0.jar -Dpackaging=jar -DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)
此外,如果我复制所有三个命令并将它们粘贴到命令shell(cmd.exe)中,它们会一个接一个地执行,没有任何问题.所以这显然是dos批处理文件的一些问题.
我正在尝试运行以下PHP脚本来执行简单的数据库查询:
$db_host = "localhost";
$db_name = "showfinder";
$username = "user";
$password = "password";
$dbconn = pg_connect("host=$db_host dbname=$db_name user=$username password=$password")
or die('Could not connect: ' . pg_last_error());
$query = 'SELECT * FROM sf_bands LIMIT 10';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误:
查询失败:错误:关系"sf_bands"不存在
在所有的例子中,我可以找到有人得到错误的地方,说明关系不存在,这是因为他们在表名中使用大写字母.我的表名没有大写字母.有没有办法查询我的表而不包括数据库名称,即showfinder.sf_bands?
我正在尝试将序列设置为特定值.
SELECT setval('payments_id_seq'), 21, true
Run Code Online (Sandbox Code Playgroud)
这给出了一个错误:
ERROR: function setval(unknown) does not exist
使用ALTER SEQUENCE似乎也不起作用?
ALTER SEQUENCE payments_id_seq LASTVALUE 22
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?
参考:https://www.postgresql.org/docs/current/static/functions-sequence.html
我在PostgreSQL中有一个表,其中的模式如下所示:
CREATE TABLE "foo_table" (
"id" serial NOT NULL PRIMARY KEY,
"permalink" varchar(200) NOT NULL,
"text" varchar(512) NOT NULL,
"timestamp" timestamp with time zone NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
现在,我希望通过ALTER-ing表使表中的固定链接唯一.任何人都可以帮我吗?
TIA
如何使用WAIT选项的START命令
START /wait notepad.exe
START /wait notepad.exe
Run Code Online (Sandbox Code Playgroud)
...与使用CALL命令有什么不同?
CALL notepad.exe
CALL notepad.exe
Run Code Online (Sandbox Code Playgroud)
是否存在一种情况,其中一种可能表现不同,另一种情况取决于正在执行的内容?
SQL Server中的DECIMAL和NUMERIC数据类型有什么区别吗?
什么时候应该使用DECIMAL和NUMERIC?
由于Postgres能够进行LATERAL连接,我一直在阅读它,因为我目前为我的团队执行复杂的数据转储,其中包含大量低效的子查询,这使得整个查询需要四分钟或更长时间.
我知道LATERAL联接可能能够帮助我,但即使在阅读了像Heap Analytics 这样的文章之后,我仍然没有完全遵循.
LATERAL加入的用例是什么?LATERAL连接和子查询之间有什么区别?
postgresql ×5
sql ×4
batch-file ×2
windows ×2
cmd ×1
lateral-join ×1
oracle ×1
php ×1
primary-key ×1
sql-server ×1
sqldatatypes ×1
subquery ×1
t-sql ×1
windows-7 ×1