DECLARE@TITLENVARCHAR(100);SET@TITLE=N‘SQL关键词标签在数据

好的,请查阅以下符合您要求的文章。

数据定义与操作

在数据库管理中,数据定义语言(DDL)和数据操作语言(DML)是两类核心的SQL关键字。它们共同构成了与数据进行交互的基础。

DDL:构建数据框架

数据定义语言主要用于定义和修改数据库的结构。常见的DDL关键字包括CREATE、ALTER和DROP。例如,使用CREATE TABLE可以创建一张新表来存储信息;ALTER TABLE用于修改现有表的结构,如增加或删除列;而DROP TABLE则会删除整张表及其数据。这些操作用于搭建和调整数据的“容器”与“蓝图”。

DML:处理数据内容

数据操作语言则专注于对数据本身进行增删改查。其最核心的关键字是SELECT,用于从数据库中检索和查询数据。此外,INSERT用于向表中插入新记录,UPDATE用于修改现有记录,DELETE则用于删除记录。DML是日常工作中与数据内容互动最频繁的部分。

数据查询与筛选

从海量数据中精确提取所需信息是SQL的核心功能,这离不开强大的查询与筛选关键字。

SELECT与FROM子句

SELECT语句是SQL查询的起点,用于指定要检索的列。FROM子句则指明数据来源于哪张表。这两个关键字是每个查询语句不可或缺的部分。

WHERE与条件过滤

WHERE子句是数据筛选的关键。它允许用户指定条件,只有满足条件的记录才会被返回。通过使用比较运算符和逻辑运算符,可以构建出非常复杂和精确的查询条件。

聚合与分组

为了对数据进行统计分析,SQL提供了聚合函数和分组关键字。COUNT、SUM、AVG等函数用于计算汇总值。GROUP BY子句则将数据行按指定列的值进行分组,以便对每个组进行聚合计算。

数据完整性与一致性

确保数据的准确性和可靠性是数据库系统的重要目标,这通过一系列约束和事务控制关键字来实现。

主键与外键约束

PRIMARY KEY约束唯一标识表中的每条记录,确保实体的完整性。FOREIGN KEY约束则强制表之间的引用完整性,保证数据关系的一致性。

事务控制

事务关键字如BEGIN TRANSACTION、COMMIT和ROLLBACK用于管理数据库事务。它们确保一系列操作要么全部成功完成,要么全部不执行,从而维护数据在并发操作和系统故障情况下的逻辑一致性。

参照如下存储过程写一个每日月1-19日给A表用户发提醒的存储过程CREATE PROCEDURE [dbo].[SP_ZP_DEBT_WARN] AS BEGIN DECLARE @dText VARCHAR(MAX); DECLARE @sText VARCHAR(MAX); DECLARE @te NVARCHAR(MAX); DECLARE @a NVARCHAR(MAX); DECLARE @fjson NVARCHAR(MAX); DECLARE @touser NVARCHAR(100); -- 用于存储当前用户 ID DECLARE @username NVARCHAR(100); -- 用于存储当前用户名 DECLARE @amt_ar_now NVARCHAR(100); DECLARE @next_csx NVARCHAR(100); DECLARE @csx_amount NVARCHAR(100); DECLARE @next_collection NVARCHAR(100); DECLARE @ds NVARCHAR(100); DECLARE @yesterday NVARCHAR(10); -- 用于存储当前日期的前一天,作为 NVARCHAR -- 获取当前日期的前一天,并转换为 NVARCHAR 格式 SET @yesterday = CONVERT(NVARCHAR(10), CAST(GETDATE() - 1 AS DATE), 120); -- 格式为 'YYYY-MM-DD' -- 获取 access token SELECT @te = [DWD_WMS].[dbo].[HTTP_POST_FUNC]( 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwd1580135c7597c13&corpsecret=IVhFAV6DZxJEhozDQq1_BasRuJXCQthdnzfXCx-ARAI', '', 'application/json', 'application/json' ); SELECT @a = JSON_VALUE(@te, '$.access_token'); -- 提取 access_token SET @te = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + @a; -- 遍历用户 ID 和用户名 DECLARE user_cursor CURSOR FOR SELECT sale_person_code, sale_person_name, amt_ar_now, -- 本期外欠余额 next_csx, -- 下月即将超授信的金额 csx_amount, -- 本期期末超授信余额 next_collection, -- 次月理论回收金额 ds FROM [WEGODataCenter_Collect].[DBO].[ads_zhangling_sale_person]; -- 从表中选择用户 ID 和用户名 OPEN user_cursor; FETCH NEXT FROM user_cursor INTO @touser, @username, @amt_ar_now, @next_csx, @csx_amount, @next_collection, @ds; -- 获取第一个用户 ID 和用户名 WHILE @@FETCH_STATUS = 0 -- 只有当本期外欠余额大于 0 时,才发送消息 -- IF @amt_ar_now > 0 BEGIN -- SET @te = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + @a; -- 发送消息 SELECT @a = [DWD_WMS].[dbo].[HTTP_POST_FUNC]( @te, '{ "touser" : "' + @touser + '", "msgtype" : "news", "agentid" : 1000278, "news" : { "articles" : [ { "title" : "威高集团应收账款预警", "description" : "' + @username + '您好,截止' + @yesterday + '日您本期(' + @ds + ')的应收外欠客户明细及汇总已生成,本期期末外欠余额为 ' + @amt_ar_now + ' 元,下月即将超授信的金额为 ' + @next_csx + ' 元,本期期末超授信余额为 ' + @csx_amount + ' 元,次月理论回收金额为 ' + @next_collection + ' 元,以上数据为根据系统数据生成的预测数,如有问题请联系市场会计,客户详情请于企业微信FineReport中查看。", "url" : "https://cyber.weigaogroup.com:9023/webroot/decision/plugin/public/com.fr.plugin.weixin.v11/weixin/single/login?sb=BACD2846D71CABF0DCECDF5854630C54&terminal=H5&__device__=iPhone&deviceType=iPhone&redirectUrl=F91B60787A92A5A618944E4706C543F3&corpId=wwd1580135c7597c13", "picurl" : "https://cyber.weigaogroup.com:9023/wqimg/7.jpg" } ] }, "enable_id_trans": 0, "enable_duplicate_check": 0, "duplicate_check_interval": 1800 }', 'application/json', 'application/json' ); --WAITFOR DELAY '00:00:01'; -- 间隔延迟1s IF JSON_VALUE(@fjson, '$.errmsg')<>'ok' BEGIN PRINT (CONCAT(JSON_VALUE(@fjson, '$.errcode'),JSON_VALUE(@fjson, '$.invaliduser'))) INSERT INTO [DWD_WMS].[DBO].[errmsg] VALUES (1, @username,JSON_VALUE(@fjson, '$.errmsg'),getdate(),JSON_VALUE(@fjson, '$.invaliduser')) END FETCH NEXT FROM user_cursor INTO @touser, @username, @amt_ar_now, @next_csx, @csx_amount, @next_collection, @ds; -- 获取下一个用户 ID 和用户名 END CLOSE user_cursor; DEALLOCATE user_cursor; END;
09-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值