是否可以使用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) 我正在使用此代码,因此我可以更新数据库中的记录:
$query = mysql_query("UPDATE article
SET com_count = ". $comments_count
WHERE article_id = .$art_id ");
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何在MySQL UPDATE语句中使用变量.
我在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) 我正在尝试为我的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分配给用户记录.
有人可以建议迁移吗?
提前致谢!
以下查询正在更新所有(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条记录约
我找不到符合我要做的事情的场景.
我有一个表保存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代码最快,最简单,最有效的方法是什么?我们有许多我们想要运行的更新脚本,现在没有简单的方法.我似乎无法在Oracle SQL Developer中找到任何选项.
(我想一种方法可能是每晚运行一个PHP文件,虽然从经验来看它有严重的权限问题,并且每晚都打开一个IE实例,之后无法关闭它)
谢谢
我有一个包含三列(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"进行更新.
我有什么想法我做错了吗?
我想更新的列leaf_category与TRUE其中的类别是不是一个父类.它作为一个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这样的可能呢?
我正在尝试运行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