我一直在阅读使用或不使用Guid和的原因int。
int更小、更快、更容易记住、保持时间顺序。至于Guid,我发现的唯一优点是它是独一无二的。在哪种情况下 aGuid会更好int,为什么?
从我所看到的,int除了数量限制之外没有任何缺陷,这在许多情况下是无关紧要的。
究竟为什么被Guid创造?我实际上认为它除了用作简单表的主键之外还有其他用途。(任何Guid用于某事的实际应用程序的示例?)
SQL Server 上的 ( Guid = UniqueIdentifier ) 类型
我有一张这样的表:
ID | Val | Kind
----------------------
1 | 1337 | 2
2 | 1337 | 1
3 | 3 | 4
4 | 3 | 4
Run Code Online (Sandbox Code Playgroud)
我想制作一个SELECT只返回每个 的第一行,按Val排序Kind。
示例输出:
ID | Val | Kind
----------------------
2 | 1337 | 1
3 | 3 | 4
Run Code Online (Sandbox Code Playgroud)
如何构建此查询?
排序规则对查询速度有任何影响吗?表的大小是否根据排序规则而变化?
如果我想构建一个必须支持所有可能语言的网站(例如 Google),推荐的排序规则是什么?
我将需要存储的字符,例如???,我的搜索过的网站将有返回something的sóméthíng输入,它必须是不区分大小写也是如此。
我怎么知道哪个是最好的选择?哪种排序规则更适合这种情况?
有没有办法使用WITH语句执行多个操作?
就像是
WITH T AS
(
SELECT * FROM Tbl
)
BEGIN
OPEN P_OUTCURSOR FOR
SELECT * FROM T;
SELECT COUNT(*) INTO P_OUTCOUNT FROM T;
END;
Run Code Online (Sandbox Code Playgroud)
我想选择一些数据和它的计数...
我有以下
CREATE TABLE [MyTable]
(
[ID] [bigint] PRIMARY KEY NOT NULL,
[Title] [nvarchar](64) NOT NULL
)
CREATE SEQUENCE MyTableID
START WITH 1
INCREMENT BY 1
NO CACHE
;
GO
Run Code Online (Sandbox Code Playgroud)
我想在 MyTable 上插入新记录并将 ID 设置为序列的下一个值。我该怎么做?也许是触发器,还是有其他方法?如何?
当我使用 SQL Server 2012 时,我不想使用 Identity 因为 gap bug。
我创建了一个新目录(不区分大小写,设为默认目录),当我尝试右键单击 > 属性添加表时,出现此错误:
属性 PopulationStatus 不可用于 FullTextCatalog '[Search]'。此对象可能不存在此属性,或者可能由于访问权限不足而无法检索。(Microsoft.SqlServer.Smo)
执行这段代码我发现我得到了 NULL
SELECT FULLTEXTCATALOGPROPERTY('Search', 'Populatestatus')
Run Code Online (Sandbox Code Playgroud)
当我右键单击表格时,Full-text index它会变灰...
我错过了什么?我怎样才能解决这个问题?
我有几个结构完全相同的表,我需要更新所有表中的值。
为此,我尝试构建以下脚本:
DO
$do$
DECLARE
i pg_tables%rowtype;
BEGIN
FOR i IN SELECT * FROM pg_catalog.pg_tables where schemaname like 'public' and tablename like '%_knex_migrations'
LOOP
UPDATE i.tablename SET name = replace(name, '.js', '.ts');
END LOOP;
END
$do$;
Run Code Online (Sandbox Code Playgroud)
我可以看到它i.tablename具有正确的值(我插入到 tmp 表中进行检查),但更新失败。
name: error
length: 223
severity: ERROR
code: 42P01
internalPosition: 8
internalQuery: UPDATE i."tablename" SET name = replace(name, '.js', '.ts')
where: PL/pgSQL function inline_code_block line 7 at SQL statement
file: parse_relation.c
line: 965
routine: parserOpenTable
Run Code Online (Sandbox Code Playgroud)
只是声明i.tablename上的插件UPDATE不起作用。 …
sql-server ×4
oracle ×2
performance ×2
collation ×1
cte ×1
dynamic-sql ×1
plpgsql ×1
postgresql ×1
primary-key ×1
select ×1
sequence ×1
update ×1