如果不能直接设置属性值实现,可以写一个触发器。在插入记录时调用,触发器中检查记录数,如果超出要求,不允许插入。
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Desire := '加不加分随你';
—————————————————————————————————
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Desire := '加不加分随你';
—————————————————————————————————
if 记录数<指定值时 then 插入
else if 记录数=指定值时 插入并删除首记录保持记录总数不变;还有,
向表中插入一条记录,应该用什么样的语句?
用table还是query好呢?
我的表要保存一年的数据,所以可能数据量比较大,我想要效率好点。
向表中插入一条记录,应该用什么样的语句好
用table的append还是query的insert好呢?
create table mytable11(myfield integer check (myfield<=12))
插入记录用什么都无所谓.关键是保证不出错,有效率(我倾向使用query.速度快)
sorry.
用query的话是不是要给表建立索引啊?这个语句怎么写的来着?
CREATE TABLE jobs
(
job_id smallint
IDENTITY(1,1)
PRIMARY KEY CLUSTERED CHECK (job_id <= 1000),
job_desc varchar(50) NOT NULL
max_lvl tinyint NOT NULL
)
我需要实现的是保持表中的总记录数不变,但能不断更新。
你这样做的结果应该是记录数超过某个值时就不能更新表了。
不知道我理解的对不对
Create Trigger trg_Test ON TableName
FOR INSERT
AS
IF @@ROWCOUNT=0 RETURN
Declare @cnt int
SELECT Top 1 @cnt=Rows From sysindexes where ID=Object_ID(N'TableName')
IF @cnt+@@ROWCOUNT>1000 /*(1000為最大的記錄數 */
BEGIN
RAISERROR('超出了允許的最大記錄數' ,15,1)
ROLLBACK TRAN
END