Sag*_*lly 1 sql t-sql sql-server
我试图用代码做的就是将带点名的模式和表名复制到一个变量中,由于某种原因,它给我的全部是第一个字母:
DECLARE @LABEL NVARCHAR
SELECT
@LABEL = LABEL
FROM(
SELECT
ROW_NUMBER() OVER(ORDER BY T.NAME) AS ROW_NUM,
CONCAT(S.name, '.', T.name) AS LABEL
FROM sys.tables AS T
INNER JOIN sys.schemas AS S
ON T.schema_id = S.schema_id
WHERE [object_id] <> '917578307' --the diagram table
) AS D
WHERE
ROW_NUM = 1
SELECT
@LABEL
Run Code Online (Sandbox Code Playgroud)
目前,我正在使用的表都在dbo架构中,所以我得到的只是"d".我究竟做错了什么?
这个说法:
DECLARE @LABEL NVARCHAR;
Run Code Online (Sandbox Code Playgroud)
没有长度.没有长度 - 在此上下文中 - SQL Server仅使用一个字符定义变量.
你需要一个长度:
DECLARE @LABEL NVARCHAR(255);
Run Code Online (Sandbox Code Playgroud)
在SQL Server中使用字符声明时,请始终包含长度.
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |