标签: sql

如何在PostgreSQL查询中声明变量

如何声明变量以用于PostgreSQL 8.3查询?

在MS SQL Server中,我可以这样做:

DECLARE @myvar INT
SET @myvar = 5

SELECT *
FROM somewhere
WHERE something = @myvar
Run Code Online (Sandbox Code Playgroud)

我如何在PostgreSQL中做同样的事情?根据文档变量被简单地声明为"名称类型;",但这给了我一个语法错误:

myvar INTEGER;
Run Code Online (Sandbox Code Playgroud)

有人能给我一个正确语法的例子吗?

sql postgresql postgresql-8.3

205
推荐指数
13
解决办法
31万
查看次数

在SQL Server的select语句中使用带有TOP的变量而不使其动态化

declare @top  int
set @top = 5
select top @top * from tablename
Run Code Online (Sandbox Code Playgroud)

可能吗?

或任何想法这样的逻辑(我不想使用动态查询)?

sql t-sql sql-server sql-server-2005

205
推荐指数
3
解决办法
9万
查看次数

SQL Server插入(如果不存在)

我想在我的表中插入数据,但只插入我的数据库中不存在的数据!

这是我的代码:

ALTER PROCEDURE [dbo].[EmailsRecebidosInsert]
  (@_DE nvarchar(50),
   @_ASSUNTO nvarchar(50),
   @_DATA nvarchar(30) )
AS
BEGIN
   INSERT INTO EmailsRecebidos (De, Assunto, Data)
   VALUES (@_DE, @_ASSUNTO, @_DATA)
   WHERE NOT EXISTS ( SELECT * FROM EmailsRecebidos 
                   WHERE De = @_DE
                   AND Assunto = @_ASSUNTO
                   AND Data = @_DATA);
END
Run Code Online (Sandbox Code Playgroud)

错误是:

消息156,级别15,状态1,过程EmailsRecebidosInsert,第11行
关键字'WHERE'附近的语法不正确.

sql sql-server stored-procedures sql-server-2008

205
推荐指数
10
解决办法
49万
查看次数

如何在SQL中随机选择行?

我正在使用MSSQL Server 2005.在我的数据库中,我有一个表"customerNames",它有两列"Id"和"Name"和大约.1,000个结果.

我正在创建一个功能,每次我必须随机挑选5个客户.任何人都可以告诉我如何创建一个查询,每次执行查询时将获得随机的5行(Id和Name)?

sql database random

203
推荐指数
9
解决办法
27万
查看次数

MySQL现在()+1天

now()在MySQL查询中使用.

INSERT INTO table SET data = '$data', date = now()
Run Code Online (Sandbox Code Playgroud)

但是我想在这个日期添加1天(因此date明天应该包含).
可能吗?

mysql sql datetime

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

mysql更新列,其中包含来自另一个表的值

我有两张桌子,看起来都像

id  name  value
===================
1   Joe     22
2   Derk    30
Run Code Online (Sandbox Code Playgroud)

我需要的值复制valuetableAtableB基于每个表检查名称.

这个UPDATE陈述的任何提示?

mysql sql sql-update

203
推荐指数
4
解决办法
32万
查看次数

暂时关闭约束(MS SQL)

我正在寻找一种暂时关闭所有数据库约束(例如表关系)的方法.

我需要将一个DB的表复制(使用INSERT)到另一个DB.我知道我可以通过以正确的顺序执行命令(不破坏关系)来实现这一点.

但是如果我可以暂时关闭检查约束并在操作完成后重新打开它会更容易.

这可能吗?

sql sql-server entity-relationship sql-server-2005 constraints

202
推荐指数
4
解决办法
29万
查看次数

重命名MySQL中的列

我正在尝试使用此SQL表达式重命名MySQL社区服务器5.5.27中的列:

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
Run Code Online (Sandbox Code Playgroud)

我也试过了

ALTER TABLE table_name RENAME old_col_name TO new_col_name;
Run Code Online (Sandbox Code Playgroud)

但它说:

错误:检查与MySQL服务器版本对应的手册

mysql sql

202
推荐指数
6
解决办法
30万
查看次数

201
推荐指数
6
解决办法
28万
查看次数

从SQL Server中的字符串中删除所有空格

在SQL Server 2008中从字符串中删除所有空格的最佳方法是什么?

LTRIM(RTRIM(' a b ')) 将删除字符串右侧和左侧的所有空格,但我还需要删除中间的空格.

sql sql-server string whitespace trim

201
推荐指数
11
解决办法
75万
查看次数