SQL Server
查询 card 的记录为两次以上的 card,记录数:
select count(card), card from TableName group by card having count(card) > 1
级联更新,级联删除:
ColumnName type not null constraint FK_Name foreign key(ColumnName) references PrimaryTable(ColumnName) on update/delete cascade
自动计算列:
create table TableName
(
ID int,
Price decimal(10,2) not null,
Number int not null,
Total as Price * number -- Total 不存储值。
)
insert into TableName values(1, 100, 123)
insert into TableName values(1, 100, 123)
insert into TableName values(2, 200, 456)
insert into TableName values(2, 200, 456)
select ID, Total=SUM(Total) from TableName where ID = 1 group by ID
修改现有商品数量:
begin
begin tran
declare @ForeignError int, @PrimaryError int
insert into ForeignTable values(@ID, @Number)
select @ForeignError=@@Error -- @@Error: 返回执行的上一个 Transact-SQL 语句的错误号。
update PrimaryTable set Number=Number ± @Number where ID=@ID --进货时用加号。
select @PrimaryError=@@Error
if (@ForeignError = 0 and @PrimaryError = 0)
commit tran
else
rollback tran
end
begin
begin tran
declare @ForeignError int, @PrimaryError int, @NewNumber int
update ForeignTable set Number=@Number, @NewNumber=@Number - Number where ID=@ID
select @ForeignError=@@Error
update PrimaryTable set Number=Number ± @NewNumber where ID=@ID --进货时用加号。
select @PrimaryError=@@Error
if (@ForeignError = 0 and @PrimaryError = 0)
commit tran
else
rollback tran
end
相关文档:
Next up in the Inside the Storage Engine series is a discussion of page structure. Pages exist to store records. A database page is an 8192-byte (8KB) chunk of a database data file. They are aligned on 8KB boundaries within the data files, starting at byte-offset ......
1.使用 ESCAPE 关键字定义转义符。 在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用: WHERE ColumnA LIKE '%5/%%' ESCAPE '/'
2.ESCAPE 'escape_character' 允许在字符串中搜索通配符而不是将其作为通配符使用。 escape_character 是放在通配符前 ......
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, ADODB,comobj, OleServer,
ExcelXP;
type
TForm1 = class(TForm)
ADOConn: TADOConnection;
& ......
在20世纪70年代初期,IBM研究员E. F. Codd博士开创性地研究开发了关系数据模型产品SEQUEL,即结构化英语查询语言(Structured English Query Language)。SEQUEL最终变成了SQL,或结构化查询语言(Structured Query Language,SQL)。
IBM及其他关系数据库的开发厂商都希望有一套能访问并操纵关系数据库的标准化方 ......
1.监控当前数据库谁在运行什么SQL语句
SELECT osuser, username, sql_text from v$session a, v$sqltext b
where a.sql_address =b.address order by address, piece;
2.分析表
analyze table tablename compute statistics for all indexes;
analyze table tablename compute statistics for all indexed col ......