如何声明变量以用于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)
有人能给我一个正确语法的例子吗?
declare @top int
set @top = 5
select top @top * from tablename
Run Code Online (Sandbox Code Playgroud)
可能吗?
或任何想法这样的逻辑(我不想使用动态查询)?
我想在我的表中插入数据,但只插入我的数据库中不存在的数据!
这是我的代码:
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'附近的语法不正确.
我正在使用MSSQL Server 2005.在我的数据库中,我有一个表"customerNames",它有两列"Id"和"Name"和大约.1,000个结果.
我正在创建一个功能,每次我必须随机挑选5个客户.任何人都可以告诉我如何创建一个查询,每次执行查询时将获得随机的5行(Id和Name)?
我now()在MySQL查询中使用.
INSERT INTO table SET data = '$data', date = now()
Run Code Online (Sandbox Code Playgroud)
但是我想在这个日期添加1天(因此date明天应该包含).
可能吗?
我有两张桌子,看起来都像
id name value
===================
1 Joe 22
2 Derk 30
Run Code Online (Sandbox Code Playgroud)
我需要的值复制value从tableA到tableB基于每个表检查名称.
这个UPDATE陈述的任何提示?
我正在寻找一种暂时关闭所有数据库约束(例如表关系)的方法.
我需要将一个DB的表复制(使用INSERT)到另一个DB.我知道我可以通过以正确的顺序执行命令(不破坏关系)来实现这一点.
但是如果我可以暂时关闭检查约束并在操作完成后重新打开它会更容易.
这可能吗?
sql sql-server entity-relationship sql-server-2005 constraints
我正在尝试使用此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服务器版本对应的手册
在SQL Server 2008中从字符串中删除所有空格的最佳方法是什么?
LTRIM(RTRIM(' a b ')) 将删除字符串右侧和左侧的所有空格,但我还需要删除中间的空格.
sql ×10
sql-server ×5
mysql ×3
t-sql ×2
constraints ×1
database ×1
datetime ×1
postgresql ×1
random ×1
sql-update ×1
string ×1
trim ×1
whitespace ×1