小编a_h*_*ame的帖子

在我的 SQL 中创建具有所有者的数据库表

有人可以告诉我创建具有特定所有者的表的 SQL 命令是什么吗?

mysql ddl

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

无法在网络路径上使用 SQL Server 数据库

我现在在一个项目上工作了很长时间。它是一个与 SQL Server 数据库(.mdf、LINQ to SQL)配合使用的 .NET 应用程序。现在我快完成了,想运行一些测试。

但在这里我完全搞砸了。到目前为止,我的应用程序只在我自己的电脑上运行,.mdf 文件存储在本地。我实际计划的是一个应用程序,它连接到存储在来自不同机器的网络路径上的数据库。

现在我读到这在 SQL Server 数据库中是不可能的?!我也收到消息:

文件 xxx.mdf 位于数据库文件不支持的网络路径上。

任何人都可以想出一个选项,如何在不重新编程整个数据库的情况下解决这个问题?

我首先想到的一个可能的明显绝望的解决方案是:

  1. 让我的应用程序找到网络路径上的数据库文件
  2. 将 .mdf + .log 文件复制到本地文件夹
  3. 执行读/写操作...或用户想做的任何事情
  4. 最后将整个 .mdf + .log 文件复制/替换回网络文件夹

如果我的问题没有其他解决方案,我的解决方案是否有效?如果可以,避免并发更新的可能性有多大?

请帮助并提前致谢!

sql-server network

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

如何从具有多行 DISTINCT 约束的 SELECT 创建 Sql 表?

我想从基于多行 DISTINCT 的 SELECT 语句创建一个表,但 PostgreSQL 不允许我这样做。

我需要创建一个表格,其中的元素之前是从另一个表格中选择的,并且它们都是唯一的。

这是我的尝试:

CREATE TABLE new_name AS (

   SELECT DISTINCT(table.field1, table.field2), table.field1, table.field2, 
   FROM ...
   WHERE ...

);
Run Code Online (Sandbox Code Playgroud)

如果我运行这个语句,PostgreSQL 会说:

错误:列“行”具有伪类型记录

我怎么能解决这个问题?

postgresql prepared-statement select

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

MySQL 枚举具有非直观行为,为什么?

这篇非常有用的文章解释了有关MySQL 枚举行为的一些奇怪之处:http : //melp.nl/2009/05/mysql-enums-and-booleans/

没有关于为什么存在这种行为的讨论。此外,在谷歌搜索这个主题时,我发现只有相互矛盾的信息和推测,由“博主”和其他盲人引导。

有人可以描述一下为什么 MySQL 枚举会遭受帖子中概述的行为。这是帖子中介绍的 Enum 奇怪之处的一个示例,但还有更多示例

mysql> insert into t values('1'),('0');
mysql> select b,b=1,b=0 from t;
+---+-----+-----+
| b | b=1 | b=0 |
+---+-----+-----+
| 1 |   0 |   0 |
| 0 |   1 |   0 |
+---+-----+-----+
2 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

mysql enum

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

提高 Postgres 中时间戳列的并发更新性能

我正在使用一个称为updated_at缓存失效的时间戳列。此处提供有关此特定技术的更多信息。

查询都具有相同的格式

UPDATE "managers" SET "updated_at" = '2014-07-25 15:00:24.212512' WHERE "managers"."id" = 1

问题是此列上的活动过多,导致写入缓慢。我假设减速是由锁定机制引起的。列上没有索引。

我们一直试图通过将可能导致多次更新的操作批处理来缓解这种情况,这确实有所帮助,但整个系统仍然受到影响。

  1. 不同类型的列会更快吗?例如一个整数。
  2. 有什么方法可以不锁定列吗?
  3. 任何其他提示来改善这一点?

我们实际上正在考虑将其移至 redis 并使用 INCR。

                                            表“public.managers”
         专栏 | 类型 | 修饰符
-------------------------+------------------------ -----+-------------------------------------------- -----------------
 身份证 | 整数 | 非空默认 nextval('leads_managers_id_seq'::regclass)
 account_id | 整数 |
 created_at | 没有时区的时间戳 |
 更新时间 | 没有时区的时间戳 |
 通知_收件人| 文字 | 默认 ''::character 变化
 用户名 | 字符变化(255) |
索引:
    “leads_managers_pkey”主键,btree (id)
    "index_leads_managers_on_uuid" UNIQUE, btree (uuid)
    "index_leads_managers_on_account_id" btree (account_id)

postgresql concurrency locking update postgresql-9.3

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

从 xml 列中提取整数值

我只是想知道如何从 XML 列中提取一个整数。目前所有的数字都是 4,下面的查询可以做到。但是这个数字很快就会增长到 10,000 个,这意味着 5 位数,这个查询将无法做到。无论如何,我是否可以动态地从 Xml 列的中间<siteID>和中间取出任何整数</siteID>。任何建议将不胜感激。

SELECT 
SUBSTRING(msg, patindex('%[0-9][0-9][0-9][0-9]</siteID>%',msg),4)  AS DOMAIN
FROM table  a(NOLOCK)
WHERE msg like '<DLR%'
ORDER BY 1 DESC
Run Code Online (Sandbox Code Playgroud)

xml sql-server t-sql substring

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

WITH 子句 UNION 问题

WITH [ProgressInvoicesPeriodCost] AS
(
    SELECT
        ProgressInvoices.ProjectId
        , ProgressInvoices.PeriodId
        , SUM(ProgressInvoiceDetails.TotalThisInvoice) AS TotalThisInvoice
    FROM
        CostManagement_ProgressInvoices AS ProgressInvoices
        LEFT JOIN CostManagement_ProgressInvoiceDetails AS ProgressInvoiceDetails
            ON  ProgressInvoices.Id = ProgressInvoiceDetails.ProgressInvoiceId
    WHERE
        ProgressInvoices.ProjectId IN (@Projectlisting)

    GROUP BY
        ProgressInvoices.ProjectId
        , ProgressInvoices.PeriodId
)

[CommitmentCOPeriodCost] AS
(
    SELECT
        CommitmentCOs.ProjectId
        , CommitmentCODetails.PeriodId
        , SUM(CommitmentCODetails.AmountApproved) AS AmountApproved
    FROM
        CostManagement_CommitmentCOs AS CommitmentCOs
        LEFT JOIN CostManagement_CommitmentCODetails AS CommitmentCODetails
            ON  CommitmentCOs.Id = CommitmentCODetails.CommitmentCOId
    WHERE
        CommitmentCOs.ProjectId IN (@Projectlisting) AND CommitmentCOs.PostAsId = 2

    GROUP BY
        CommitmentCOs.ProjectId
        , CommitmentCODetails.PeriodId
)

[CommitmentPeriodCost] AS
(
    SELECT
        Commitments.ProjectId
        , CommitmentDetails.PeriodId …
Run Code Online (Sandbox Code Playgroud)

sql-server cte union

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

Restore First 中事务日志的目的

基于这篇文章,还原第一的黄金角色

恢复完整数据库备份后,恢复最新的差异数据库备份和之后的所有事务日志备份,使数据库恢复到当前状态。

差异备份保存自上次完整备份以来的所有数据更改。

我不明白为什么我们必须恢复事务日志备份,因为(完整数据库备份 + 差异备份)应该将我的数据库恢复到最新状态。

抱歉,我想不出更好的问题标题

sql-server backup transaction-log

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

使用 Echo 语句在文本文件中写入 Echo is ON

以下代码用于在文本文件中写入数字,而是将“Echo is ON”写入文本文件。

SET @CMD = 'ECHO '+@Ver+'>'+@Vercheck      
  Print @CMD

EXEC xp_cmdshell @CMD  
  ,NO_OUTPUT 
Run Code Online (Sandbox Code Playgroud)

打印@CMD 给出“ECHO 1>C:\Pharmsuite\Vercheck.txt”

这里查询写的是“Echo is ON”而不是 1。

sql-server-2008 sql-server t-sql xp-cmdshell

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

哪个 SQL Server 版本支持 CDC?

有谁知道哪个 SQL Server 2014/2016 版本/版本支持 CDC(变更数据捕获)?

sql-server sql-server-2014 sql-server-2016

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