小编Jua*_*ado的帖子

如何编写更新查询以使用SQL数据源更新两个表?

是否可以使用SQL数据源和ASP.NET网格视图更新两个表?我有Select语句的以下SQL查询.

SELECT 
   tbl_user_login.ID, tbl_user_login.UserID, 
   tbl_user_login.Pass, tbl_user_login.Enabled, 
   tbl_user_login.Permission, tbl_user_login.Rank, 
   tbl_user_profile.ID AS Expr1, tbl_user_profile.FName,
   tbl_user_profile.LName, tbl_user_profile.Phone, 
   tbl_user_profile.Email1, tbl_user_profile.Email2 
FROM 
   tbl_user_login 
INNER JOIN 
   tbl_user_profile ON tbl_user_login.ID = tbl_user_profile.ID
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在SQL数据源中编写更新和删除语句

UPDATE

所以我写了商店程序.

CREATE PROCEDURE UpdateTwoTable 
(
    @ID int, 
    @UserID varchar(10), 
    @Pass varchar(50), 
    @Enabled int, 
    @Permission int,
    @Rank int,
    @FName varchar(50),
    @LName varchar(50),
    @Phone varchar(50),
    @Email1 varchar(50),
    @Email2 varchar(50)
) AS

BEGIN TRANSACTION

UPDATE tbl_user_login SET UserID = @UserID, Pass = @Pass, Enabled = @Enabled, Permission = @Permission, Rank = @Rank WHERE ID = @ID …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-update

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

在MySQL UPDATE中使用变量(PHP/MySQL)

我正在使用此代码,因此我可以更新数据库中的记录:

$query = mysql_query("UPDATE article 
                         SET com_count = ". $comments_count 
                       WHERE article_id = .$art_id ");
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何在MySQL UPDATE语句中使用变量.

php mysql sql variables sql-update

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

SQL Server:UPDATE语句,其中MAX查询

我在SQL Server 2008 R2中进行数据迁移.我是一个SQL-Server noob,但我非常了解Ingres和MySql.

我需要将两个新字段的"默认值"设置为另一个表中的"当前值".这是我的第一次天真尝试(我如何在Ingres中做到这一点).

update  rk_risk
set     n_target_probability_ID = a.n_probability_ID
      , n_target_consequence_ID = a.n_consequence_ID
from    rk_assess a
WHERE   a.n_assess_id = (
    SELECT  MAX(n_assess_id)
    FROM    rk_assess a2
    WHERE   a2.n_risk_id = a.n_risk_id
);
Run Code Online (Sandbox Code Playgroud)

上述查询在续集中执行时没有错误,但它将所有 n_target_probability_ID的&n_target_consequence_ID设置为相同的值 ... OUTRIGHT最后一次评估的值(与"此风险的最后评估"相对应).

rk_assess表包含rk_risks 的评估记录的完整历史记录,我的任务是将风险表的新目标概率和后果列"默认"为"当前"(即最后一个)评估记录中的值.该rk_assess.n_assess_id列是一个自动递增的标识符(一旦设置为不可变),因此max-id应该始终是最后输入的记录.

我在google和SO上都进行了一些搜索,并尝试了一些不同版本的查询,但我仍然卡住了.这里有几个史诗般的失败,有参考.

update  rk_risk
set     n_target_probability_ID = (select a.n_probability_ID from rk_assess a where a.n_assess_id = (select max(n_assess_id) from rk_assess a2 where a2.n_risk_id = a.n_risk_id) as ca)
      , n_target_consequence_ID = (select a.n_consequence_ID from rk_assess a …
Run Code Online (Sandbox Code Playgroud)

sql sql-server subquery max sql-update

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

Rails迁移在另一个表中创建条目时更新现有记录

我正在尝试为我的Rails应用程序设置Beta Invites.我有一个邀请模型和一个用户模型.

用户有一个invitation_id.我正在验证用户必须有一个invitation_id,它应该是唯一的.我想编写一个迁移,以便我可以更新现有用户以获得invitation_id.

这是我的邀请模型:

# Table name: invitations
#
#  id              :integer         not null, primary key
#  sender_id       :integer
#  recipient_email :string(255)
#  token           :string(255)
#  sent_at         :datetime
#  created_at      :datetime
#  updated_at      :datetime
Run Code Online (Sandbox Code Playgroud)

为了保证唯一性,我将不得不在邀请表中创建记录,并将相应的ID分配给用户记录.

有人可以建议迁移吗?

提前致谢!

sql migration ruby-on-rails insert-update sql-update

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

根据匹配的列更新另一个表的列中的列

以下查询正在更新所有(80k)记录而不是匹配(5k)的记录.有什么问题,如何纠正?

update ALAM set ALAM.CDate = (select IDCP.CDate from IDCP 
                              where ALAM.ASID = IDCP.ASID and ALAM.AID = IDCP.AID 
                                    and ALAM.MCode = '10001')
Run Code Online (Sandbox Code Playgroud)

ALAM记录计数表=约80,000条记录IDCP记录计数表=约5,000条记录

作为附加信息:

select ALAM.ASID, ALAM.AID, ALAM.CDate 
from ALAM, IDCP 
where ALAM.ASID = IDCP.ASID and ALAM.AID = IDCP.AID and ALAM.MCode = '10001' 
Run Code Online (Sandbox Code Playgroud)

结果5000条记录约

sql sql-server join sql-update

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

SQL使用另一个表中的最新数据更新一个表 - 有条件的

我找不到符合我要做的事情的场景.

我有一个表保存UserID,他们的Subscription PackageID和他们的订阅日期.

用户ID 14525398的#Subscription示例数据:

UserID      Package     Date
14525398    188535      2011-05-17 00:00:00.000
14525398    188535      2011-06-16 00:00:00.000
14525398    188536      2011-06-23 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,6月16日,此人订阅了PackageID 188535. 6月23日,他们升级到PackageID 188536.

在另一个表中,我有他们的下载历史记录,但我想要做的是从他们下载的日期得到他们订阅的PackageID.此下载表具有UserID,下载数量,下载日期和PackageID,没有我需要更新的值.

#Download表的示例数据是:

UserID      Dloads  Date                PackageID
14525398    3       2011-06-18 00:00:00.000     0
14525398    2       2011-06-18 00:00:00.000     0
14525398    2       2011-06-19 00:00:00.000     0
14525398    5       2011-06-24 00:00:00.000     0
14525398    2       2011-06-18 00:00:00.000     0
Run Code Online (Sandbox Code Playgroud)

使用上面的示例,我需要一个查询,准确显示第四条记录(5条下载记录)在PackageID 188536上,因为这是2011-06-24下载日期之前的最新包,而其余的将在PackageID 188535.

我尝试像这样更新:

UPDATE #Download SET PackageID = (
SELECT TOP 1 PackageID 
FROM #subscription 
WHERE userID = #Download.userID AND Date <= #Download.Date
) …
Run Code Online (Sandbox Code Playgroud)

sql t-sql subquery sql-update

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

每天运行Oracle SQL更新脚本

我想知道每天运行一些SQL代码最快,最简单,最有效的方法是什么?我们有许多我们想要运行的更新脚本,现在没有简单的方法.我似乎无法在Oracle SQL Developer中找到任何选项.

(我想一种方法可能是每晚运行一个PHP文件,虽然从经验来看它有严重的权限问题,并且每晚都打开一个IE实例,之后无法关闭它)

谢谢

sql oracle sql-update

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

使用主键的SQL查询

我有一个包含三列(key,id,loglevel)的SQL表.键列设置为主键,并自动递增.

想象一下:

key   id   loglevel
1     223     5
2     445     8
Run Code Online (Sandbox Code Playgroud)

现在我想通过选择对应于特定值"key"的行来更新表.

我正在使用这条线:

mysql_query("UPDATE Logs SET loglevel = 4 WHERE key = 2;"); 
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

当我改为

mysql_query("UPDATE Logs SET loglevel = 4 WHERE id = 445;");
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,我想基于"key"而不是"id"进行更新.

我有什么想法我做错了吗?

sql indexing key sql-update

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

PostgreSQL:忽略左外部自连接的更新

我想更新的列leaf_categoryTRUE其中的类别是不是一个父类.它作为一个select语句:

 select 
     c1.id, c1.name, c1.slug, c1.level, c2.parent_id, c2.name, c2.slug, c2.level 
 from
     catalog_category c1 
 left outer join 
     catalog_category c2 on 
     (c1.id = c2.parent_id)
 where 
     c2.parent_id is null;
Run Code Online (Sandbox Code Playgroud)

但是,相应的UPDATE设置所有列TRUE.

update catalog_category 
set leaf_category = True
from
    catalog_category c1 
left outer join 
    catalog_category c2 on 
    (c1.id = c2.parent_id)
 where 
     c2.parent_id is null;
Run Code Online (Sandbox Code Playgroud)

UPDATE这样的可能呢?

sql postgresql join sql-update

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

gunicorn和websockets

我正在尝试运行http://www.gelens.org/code/gevent-websocket/并继续收到以下错误.

socket_id=1 already closed.
    result = self._run(*self.args, **self.kwargs)
  File "/home/walt/virtualenv/ws/local/lib/python2.7/site-packages/gevent/pywsgi.py", line 571, in handle
    handler.handle()
  File "/home/walt/virtualenv/ws/local/lib/python2.7/site-packages/gevent/pywsgi.py", line 180, in handle
    result = self.handle_one_request()
  File "/home/walt/virtualenv/ws/local/lib/python2.7/site-packages/gevent/pywsgi.py", line 314, in handle_one_request
    self.handle_one_response()
  File "/home/walt/virtualenv/ws/local/lib/python2.7/site-packages/geventwebsocket/handler.py", line 26, in handle_one_response
    return self._handle_websocket()
  File "/home/walt/virtualenv/ws/local/lib/python2.7/site-packages/geventwebsocket/handler.py", line 50, in _handle_websocket
    self.log_request()
  File "/home/walt/virtualenv/ws/local/lib/python2.7/site-packages/gevent/pywsgi.py", line 394, in log_request
    log.write(self.format_request() + '\n')
AttributeError: 'Logger' object has no attribute 'write'
Run Code Online (Sandbox Code Playgroud)

我在Mint Linux上运行python 2.7.2

python websocket gevent gunicorn

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