AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-60600

ΩmegaMan's questions

Martin Hope
ΩmegaMan
Asked: 2022-09-03 13:06:18 +0800 CST

通用数据链路在 Windows 10/11 上没有 MFA 选项

  • 0

在查看文档Universal Data Link (UDL) configuration (V2022/2019 & 2016) 时,它说我可以使用 UDL 文件通过下拉列表尝试Active Directory - Universal with MFA support:类型登录(下面对话框中的第 2 节)。

但我在 Windows 10 VM 和我的 Windows 11 工作站上的版本没有此选项。我该怎么做才能获得选择权?


左边是(Windows 10/11 对话框)右边是文档视图。

在此处输入图像描述

sql-server connectivity
  • 1 个回答
  • 19 Views
Martin Hope
ΩmegaMan
Asked: 2022-04-11 15:22:53 +0800 CST

从 CTE 为每个交叉连接创建随机集值

  • 1

我正在尝试加载一个表,其中包含基于另一个表随机生成的值。问题是 final 的结果集Cross Join对于最终交叉连接表的每一行都不是唯一的(随机的)。


解构 CTE
; with MinMax as   -- Step one get the range of values for each `DetailCategoryId`
(
     select distinct DetailCategoryId,
      min(DetailId) over(partition by DetailCategoryId) as [Min] 
    , max(DetailId) over(partition by DetailCategoryId) as [Max]
    from Ref.Detail
)
, RandProcess as   -- Step two pick a random number between the range for each
(
    select MM.DetailCategoryId
      ,   (MM.[Min] + FLOOR(RAND() * (MM.[Max] + 1 - MM.[Min]))) as Rando
    from MinMax MM
)

最后一步是创建一个交叉引用表,Cross JOIN该表将为RandProcess每个项目提供集合。.

select  PRJ.ProjectId, RD.DetailCategoryId, RD.Rando
from info.Project PRJ
CROSS JOIN RandProcess RD

问题是表中的每组数据PRJ都是相同的。这是每组PRJ数据的前两行。

10000   101 7
10000   102 10
...
10001   101 7
10001   102 10
...
10002   101 7
10002   102 10

问题

对于 PRJ 的每一行,如何使每个 PRJ 集都不同(随机)?

10000   101 7
10000   102 10
...
10001   101 4
10001   102 11
...
10002   101 1
10002   102 14

为什么

我的目标是将这些值作为每个PRJ数据元素的测试值插入到另一个表中。

sql-server
  • 1 个回答
  • 112 Views
Martin Hope
ΩmegaMan
Asked: 2022-03-05 07:09:29 +0800 CST

授予所有存储过程的视图定义

  • 0

授予用户查看所有模式中所有存储过程的能力的方法是什么?


命令如

GRANT VIEW DEFINITION ON [dbo].[{SprocNameHere}] TO [{UserNameHere}] 

是一招小马,必须在所有存储过程中完成。有没有更通用的方法来包含所有内容?

sql-server azure-sql-database
  • 2 个回答
  • 1615 Views
Martin Hope
ΩmegaMan
Asked: 2021-01-29 07:59:25 +0800 CST

SQL Server LocalDB V15.0.2 无法识别 STRING_AGG

  • 0

我最近在 AWS 中的 SQL Server 2019 (14.0.3192.2) 上编写了一个存储过程,该过程毫无问题地使用了该函数STRING_AGG。当我将代码移至本地测试数据库时,它抱怨该方法。

经过研究,我开始将我的本地 sql server db 服务从 14.x 版本更新到最新的 15.0.2 并尝试再次安装 sproc;对失败

'"'',STRING_AGG(ActionDATE, ''","''),''"' 附近的语法不正确。

自 SQL Server 2017 以来,此功能一直是可行的……因此在 2019 的本地版本中缺失有点令人费解。

问题

除了安装 SQL Server 2019 Developer Edition 来解决这个问题,我还有什么办法?


意图

请注意,失败行STRING_AGG是尝试创建一个 JSON 日期子数组,例如

[ '01/24/2020', '01/28/2020' ]:

代码

CREATE PROCEDURE [hcwfba].[GetOperationsAndActionDates] 
    @operationId int,
    @locationId int  
AS       

WITH  [DATA] AS (SELECT DISTINCT id_Operation, id_Location , CONVERT(varchar, ActionDATE ,101) AS [ActionDATE] FROM OperationDetail)

SELECT distinct 
         PD.id_Operation
       , PD.id_Location
       , JSON_QUERY((SELECT CONCAT(''["'',STRING_AGG(ActionDATE, ''","''),''"]'') FROM [DATA] DT2 WHERE DT2.id_Location = PD.id_Location)) As Dates
FROM [DATA] PD
WHERE PD.id_Operation = @operationId 
AND PD.id_Location = @locationId
FOR JSON AUTO;

RETURN @@ROWCOUNT 

JSON 结果

[
    {
        "id_Operation": 13,
        "id_Location": 8675309,
        "Dates": [
            "12/03/2018",
            "08/27/2018",
            "10/22/2018"
        ]
    }
]
sql-server sql-server-2019
  • 1 个回答
  • 568 Views
Martin Hope
ΩmegaMan
Asked: 2019-10-20 11:34:32 +0800 CST

检查 Null 时,日期列上的计算列操作数类型冲突

  • 0

尝试使用Date字段的计算列创建表时会生成此错误。

操作数类型冲突:int 与日期不兼容

如果我注释掉计算列,它就可以工作。

[DateInActive][Date] NULL,             -- Date origination
[IsValid] AS (IsNull(DateInActive, 1)) -- Failure here

on 的想法IsValid是简单地为该字段返回一个biton|off 以表示没有报告非活动日期,如果是,则它是有效的。

该列最终将For JSON作为is-a字段传递到输出中的 JSON,以供 SQL 外部使用。


完整的 SQL

CREATE TABLE [history].[PhoneBook](
    [PhoneBookId] [int] IDENTITY(1,1) NOT NULL,
    [PersonId] [int] NOT NULL,
    [PhoneId] [int] NOT NULL,
    [DateActive][Date] NOT NULL,
    [DateInActive][Date] NULL,
    [IsValid] AS (IsNull(DateInActive, 1))
 CONSTRAINT [PK_PhoneBook_1] PRIMARY KEY CLUSTERED 
(
    [PersonId] ASC,
    [PhoneId] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, 
       ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
sql-server t-sql
  • 1 个回答
  • 484 Views
Martin Hope
ΩmegaMan
Asked: 2018-09-20 07:26:54 +0800 CST

Oracle 中的变量赋值和使用

  • 0

为什么这在 SQL Developer 中针对 Oracle 数据库会失败?实现相同目标的适当方法是什么?

DECLARE v_pNbr NUMBER := 100150; 
begin
     select * from TARGETTABLE where PROCESSNBR = v_pNbr;
end;

ORA-06550:第 3 行,第 2 列:PLS-00428:此 SELECT 语句中需要一个 INTO 子句


来自 SQL Server,我已经习惯了在 SSMS 查询编辑器/页面中创建变量,然后在多个选择中运行它们。因此,它允许人们通过更改一个而不是多个来理解操作。我看到的例子似乎暗示了历史终端的使用而不是编辑器,这可能会排除这种工作方式......因此,什么是可接受的使用 pl/sql 的方式。

oracle plsql
  • 1 个回答
  • 1296 Views
Martin Hope
ΩmegaMan
Asked: 2018-03-28 16:43:34 +0800 CST

具有可选参数的存储过程限制返回的行(如果指定)

  • 1

如何让一个存储过程允许消费者有选择地指定返回的行数?

如果未指定行数,则返回所有行。

sql-server stored-procedures
  • 1 个回答
  • 603 Views
Martin Hope
ΩmegaMan
Asked: 2016-04-18 13:37:43 +0800 CST

添加日期时间时交叉应用失败

  • 7

在尝试实现将Pivot两行数据表变成一行的目标时,我的第一个想法是使用Cross Apply. 通过使用Cross Apply可以识别/生成具有从行的唯一 ID 派生的特定列名的每一行。(例如,“纬度”源列的“Lat1”和“Lat2”)。

INT当我使用or数据类型时,一切都很好,FLOAT但是当我尝试使用DateTimeall 时,一切都VALUES变成了DateTime。


航运纬度/经度/日期时间示例

在两个不同的日子里,我们在船上的旅程中有两个要点:

CREATE TABLE #Shipping
(
     [RouteID]     [INT]  NOT NULL,
     [Latitude]    FLOAT NOT NULL, 
     [Longitude]   FLOAT NOT NULL,
     [Time]        DATETIME NOT NULL

);

INSERT #Shipping(RouteID, [Latitude], [Longitude], [Time])
VALUES          (1,         18.0221,    -63.1206,  '24-Jan-2016'), 
                (2,         17.8353,    -62.99667, '25-Jan-2016');

成功交叉应用 如果我们使用CrossApply前三列的数据

  SELECT  col+cast([RouteID] as varchar(1)) new_col
         , X.value
       FROM #Shipping
  CROSS APPLY
  (
      VALUES
         (RouteID,   'Id')
      ,  (Latitude,  'Lat')
      ,  (Longitude, 'Lon')
  ) X (value, col)

我们的结果符合预期:

Int 和 Float 交叉应用成功

伟大的!


与 DateTime 交叉应用失败

但是一旦我们添加DateTime到组合中:

      SELECT  col+cast([RouteID] as varchar(1)) new_col
             , X.value
           FROM #Shipping
      CROSS APPLY
      (
          VALUES
             (RouteID,   'Id')
          ,  (Latitude,  'Lat')
          ,  (Longitude, 'Lon')
          , ([Time],    'Time')
      ) X (value, col)

都变成DateTimes

DateTime 交叉应用失败

如果我的最终目标是将原始表中的所有值转换为一行,应该如何解决这个问题?

sql-server sql-server-2012
  • 1 个回答
  • 1225 Views
Martin Hope
ΩmegaMan
Asked: 2016-02-18 06:49:23 +0800 CST

连接到自身的表效率低下

  • 4

我的最终目标是比较两行(只存在两行)和特定类型,并确定其行值是否大于其他行类型值。我想出的结果似乎很笨拙,这让我想知道是否可以用更快或更优雅的方式完成。


我在这里创建了 sql fiddle来演示这个问题。

假设我们正在运送货物,我们的类型 1 的主要路线需要与其他路线类型 2 进行比较。每条路线都有一个 Wave 值和一个 Roll 值,需要独立比较。请注意,其他路线类型(除了 main,它始终使用)可以与Main类型值 1 进行比较,但一次只能比较两个。

CREATE TABLE Shipping
(
[RouteID]         [INT]  NOT NULL,
[WaveValue]       [INT] NOT NULL, 
[RollValue]       [INT] NOT NULL

);

INSERT Shipping(RouteID, WaveValue, RollValue)
VALUES (1, 20, 2),  -- This is the main route
       (2, 10, 30); -- The other secondary route, (only 2 items ever in this table)

根据表中当前的值,我们预计 MainsWave 将大于其他波浪,而 Roll 则相反。

这是工作的 sql,请注意,真正的最终结果只与IsMainWaveGreater和有关,IsMainRollGreater但所有列都显示用于调试:

   SELECT Max1.RouteID
        , Max1.WaveValue
        , Max1.RollValue
        , MaxOther.RouteID
        , MaxOther.WaveValue
        , MaxOther.RollValue
  , IIF(Max1.RouteID = 1,
        IIF(Max1.WaveValue > MaxOther.WaveValue, 1, 0),
        IIF(Max1.WaveValue > MaxOther.WaveValue, 0, 1)) AS IsMainWaveGreater
  , IIF(Max1.RouteID = 1,
        IIF(Max1.RollValue > MaxOther.RollValue, 1, 0),
        IIF(Max1.RollValue > MaxOther.RollValue, 0, 1)) AS IsMainRollGreater
   FROM
    Shipping AS Max1
   INNER JOIN Shipping AS MaxOther ON Max1.RouteID > MaxOther.RouteID;

由于可以先读取并连接到下一行的行可能不是主路由(记住RouteIDmain 中的值始终为1 ),因此 sql 必须有一个IIF检查 Max1 是什么类型然后相应地交换检查/结果.

这可以优化甚至重写吗?

这只是 CTE 过程中的一个操作,因此可以进行其他操作。

sql-server sql-server-2012
  • 1 个回答
  • 108 Views
Martin Hope
ΩmegaMan
Asked: 2015-12-02 15:07:33 +0800 CST

CTE 在选择返回无行时使用备用选择

  • 2

我创建了一个参与CTE的,没有递归,但是在处理需求的业务逻辑时进行了多项选择。不过,我被告知,没有返回行的场景所需的逻辑应该返回从中间CTE的 select 之一找到的所有行,而不是返回最终操作。

如何实现?

请注意,以下示例是对我的流程的基本解释,并且在多个级联 CTE 选择基本上链接在一起之后发生了相关操作。


示例(在SQLFiddle上找到)

在用户表中有两条记录,其中UserIds 的 id 是1和2。第一个CTEs select,TargetUsers将不返回需要第三个 CTEComputeWithUsers来使用 the 的行AllUsers。

WITH TargetUsers AS
(
  SELECT * 
  FROM Users
  WHERE UserId > 5
)
, AllUsers AS
(
   SELECT * FROM Users
)
, ComputeWithUsers
(
-- This CTE will determine it needs to use `AllUsers` and not `TargetUsers`
)

或者有没有办法让TargetUsers选择足够聪明,以便在其主要操作不返回任何行时提取所有用户?

sql-server select
  • 2 个回答
  • 3199 Views
Martin Hope
ΩmegaMan
Asked: 2015-10-23 05:35:27 +0800 CST

执行从 Select 生成的动态 SQL

  • 2

SQL 中的业务流程可以为每个操作生成一个变量1-N 次调用存储过程,其目的是插入与主流程相关的数据。

如何从一个选择中执行多行生成的 sql,或者是否有一种从选择中调用存储过程的方法?


此步骤之前的流程是涉及到业务逻辑和数据驱动操作的操作,并且已经对相关的外键连接表进行了后续的插入操作。

在需要调用存储过程的那一刻,它已经准备好在表变量中处理数据。调用存储过程的步骤(过程中的逻辑)是一个涉及的过程,在存储过程中是有意义的,并且不能复制到现有过程中。


生成的代码的虚假示例Select。

SELECT 'EXEC [sim].[ROI_Save] ' + CONVERT(varchar(6), VSL.PathId)           + ', '
                                + Convert(varchar(6), @ROIResultId)         + ', '
                                + CONVERT(varchar(6), RT.routeTypeResultId) + ', '
                                + CONVERT(varchar(6), RT.ROI_RouteTypeId)   + '; '
FROM  @routeResultIds RT
JOIN sim.ROI_Result_Vehicle VSL ON RT.ROI_Result_VehicleId = VSL.ROI_Result_VehicleId 

结果

在此处输入图像描述

是否连接结果并调用Exec?

sql-server sql-server-2012
  • 2 个回答
  • 3662 Views
Martin Hope
ΩmegaMan
Asked: 2015-07-15 11:31:16 +0800 CST

确定差距记录,填写并返回结果

  • 3

以下工作代码针对 SQL-Server 2012,我已将实际问题提炼为可管理的场景,下面显示的代码示例也在SQL Fiddle.

我寻求有关使用 CTE 和临时表的最佳实践的反馈,并且想知道是否可以简化以下内容。

(请注意,这也在代码审查(插入差距记录报告流程)中被问到,到目前为止没有任何回应。)

前提

存在两个表,其中包含代理和管理的时间戳事件。将在代理表上运行报告。但在代理表中,如果事件间隔超过 5 小时,则必须从事件管理表中为该间隔填写生成的报告。

代理人

CREATE TABLE AgentInteractions
(
   [Event]      VARCHAR(12) NOT NULL, 
   [Timestamp] [DateTime] NOT NULL
);


INSERT INTO dbo.AgentInteractions( Event, TimeStamp  )
VALUES ( 'Alpha', '24-Jan-2018 3:04:00 PM' ),
       ( 'Beta', '24-Jan-2018 10:04:00 PM' ),  -- Gap 7 hours
       ( 'Omega', '25-Jan-2018 2:04:00 AM' );  -- No Gap

管理

CREATE TABLE ManagementInteractions
(
  [Event]      VARCHAR(12) NOT NULL, 
  [Timestamp] [DateTime] NOT NULL
);


INSERT INTO dbo.ManagementInteractions( Event, TimeStamp  )
VALUES ( '5pm',      '24-Jan-2018 5:00:00 PM' ),  -- Gap Filler #1
       ( '8pm',      '24-Jan-2018 8:00:00 PM' ),  -- Gap Filler #2
       ( 'Midnight', '25-Jan-2018 12:00:00 AM' ); -- Not used

初步报告(或第一步)

使用以下将报告放入临时表的 sql,它计算行之间的时间差并设置原始数据中不存在的序列。

CTE 到临时表

IF OBJECT_ID('tempdb..#Actions') IS NOT NULL DROP TABLE #Actions;

WITH AgentActions AS 
( SELECT  ROW_NUMBER() OVER ( ORDER BY [Timestamp] ) AS [Sequence], -- Create an index number ordered by time.
          Event ,
          Timestamp
  FROM  AgentInteractions
)
SELECT  CAST('Agent' AS VARCHAR(20)) AS [Origin] ,
            AgentActions.Sequence ,
            AgentActions.Event ,
            ( SELECT    Other.Timestamp
              FROM      AgentActions Other
              WHERE     Other.Sequence = AgentActions.Sequence - 1
            ) AS Previous ,
            AgentActions.Timestamp ,
            ISNULL(DATEDIFF(HOUR,
                            ( SELECT    Other.Timestamp
                              FROM      AgentActions Other
                              WHERE     Other.Sequence = AgentActions.Sequence - 1), 
                            AgentActions.Timestamp), 
                            0) AS TimeFromLastPoint
    INTO    #Actions
    FROM    AgentActions;

select into 的结果#Actions,注意 7 小时的差距:

在此处输入图像描述

确定差距

以下 sql 确定差距,并插入管理表中的记录以填补差距。

将管理事件插入差距

WITH Gaps AS 
( SELECT   AC.Origin ,
           AC.Sequence ,
           AC.Event ,
           AC.Previous ,
           AC.Timestamp ,
           AC.TimeFromLastPoint
  FROM     #Actions AC
  WHERE    AC.TimeFromLastPoint > 5
)
INSERT  INTO #Actions ( [Origin] , [Event] , [Timestamp] , TimeFromLastPoint)
            SELECT  'Management' ,
                    [Event] ,
                    [Timestamp] ,
                    0                      -- We will figure this out after the insert.
            FROM    ManagementInteractions MAN
            WHERE   EXISTS ( SELECT *
                             FROM   Gaps
                             WHERE  MAN.Timestamp BETWEEN Gaps.Previous
                                                  AND     Gaps.Timestamp );

SELECT Origin , Sequence , Event , Previous , Timestamp , TimeFromLastPoint 
FROM #Actions ORDER BY Timestamp;

选择的结果。

在此处输入图像描述

总结报告

最终报告执行步骤 1 中的操作,重新排序并确定所有点之间的持续时间。

CTE Deja-vu 最终报告

WITH Combined AS 
( 
   SELECT Origin,
          ROW_NUMBER() OVER ( ORDER BY [Timestamp] ) AS [Sequence], -- Create an index number ordered by time.
          Event ,
          Timestamp
    FROM  #Actions
)
SELECT  Combined.Origin,
        Combined.Sequence ,
        Combined.Event ,
        ( SELECT    Other.Timestamp
          FROM      Combined Other
          WHERE     Other.Sequence = Combined.Sequence - 1
        ) AS Previous ,
        Combined.Timestamp ,
        ISNULL(DATEDIFF(HOUR,
                        ( SELECT    Other.Timestamp
                          FROM      Combined Other
                          WHERE     Other.Sequence = Combined.Sequence
                                    - 1
                        ), Combined.Timestamp), 0) AS TimeFromLastPoint

FROM  Combined;

这是结果

在此处输入图像描述

概括

是否可以组合任何步骤,或者我应该使用或避免使用上述 sql 代码的任何做法?

sql-server sql-server-2012
  • 1 个回答
  • 701 Views
Martin Hope
ΩmegaMan
Asked: 2015-03-12 06:56:09 +0800 CST

基于其他位列的计算列位

  • 1

从其他位列计算位列的公式是什么?

例如:

CREATE TABLE #Employee
(
[empNumb]       [INT] identity(1,1) PRIMARY KEY,
[IsOk]          [BIT] NOT NULL, -- This is computed from other three columns.
[HasValidHours] [BIT] NOT NULL,
[NoDemerits]    [BIT] NOT NULL,
[NoAccidents]   [BIT] NOT NULL
);

ALTER TABLE #Employee ADD CONSTRAINT [DF_Employee_HasValidHours]  
  DEFAULT ((0)) FOR [HasValidHours];
ALTER TABLE #Employee ADD CONSTRAINT [DF_Employee_NoDemerits]  
  DEFAULT ((0)) FOR [NoDemerits];
ALTER TABLE #Employee ADD CONSTRAINT [DF_Employee_NoAccidents]  
  DEFAULT ((0)) FOR [NoAccidents];

IsOk将根据 ,和的and -ing计算。HasValidHoursNoDemeritsNoAccidents

sql-server sql-server-2012
  • 2 个回答
  • 2714 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve